數(shù)據(jù)類型:
C#:String與StringBuilder
Java:String與StringBuffer
第一個不習慣是string的第一個字母必須大寫了。
第二個不習慣是int得寫成Integer了,雖然可以定義int i=0,但是對于泛型等用法必須ArrayList<Integer>。
常用集合類比較:
C# :HashTable List<T> Dictionary<T,K>
Java:HashTable List(包括:ArrayList<T>,LinkedList<T>) Map<T,K>(包括:HashMap<T,K>,SortedMap<T,K>)
Set(包括:HashSet<T>, SoredSet<T>)
Set:不能包含重復的元素;
List:可以包含重復的元素。
集合的類還是挺多的,比較的我頭差點都大了,最后才找出這種簡單的對應關系。
Stack和Queue
C# :Stack<T> Queue<T>
Java:Stack<T> Queue(包括四個:LinkedBlockingQueue<T>、ArrayBlockingQueue<T>、PriorityBlockingQueue<T>、DelayQueue<T>)
Statck用法基本一致,Queue用法與名稱基本上差天與地,下面有詳細解答。
Java Queue方法名稱和C#不同:
Java Queue 的相關方法:
add 增加一個元索 如果隊列已滿,則拋出一個IIIegaISlabEepeplian異常
remove 移除并返回隊列頭部的元素 如果隊列為空,則拋出一個NoSuchElementException異常
element 返回隊列頭部的元素 如果隊列為空,則拋出一個NoSuchElementException異常
offer 添加一個元素并返回true 如果隊列已滿,則返回false
poll 移除并返問隊列頭部的元素 如果隊列為空,則返回null
peek 返回隊列頭部的元素 如果隊列為空,則返回null
put 添加一個元素 如果隊列滿,則阻塞
take 移除并返回隊列頭部的元素 如果隊列為空,則阻塞
更詳細的參考文章鏈接:http://www.cnblogs.com/end/archive/2012/10/25/2738493.html
迭代語法:
C# :foreach(object o in objList){} 實現(xiàn)迭代的接口名稱為:IEnumerable
Java:foreach(object o : objList){} 實現(xiàn)迭代的接口名稱為: Iterable