----------------------
ASP.Net+Android+IOS開發 、 .Net培訓 期待與您交流! ----------------------
1. 對於實現了List接口的集合對象時,當併發的對同一組元素進行操作時,最好用ListIterator
2. ArrayList的初始容量爲10,它的內部封裝了一個可變長度數組
若容量不夠則會創建一個新的數組,長度是10*15%=15
3. Vectory的初始容量也是10,延長後會變成20
4. contains() 和 remove() 方法底層調用的都是equals()方法
5. 定義一個類需要往set集合中存儲的時候,爲了提高比較的效率,一般都需要覆蓋hashCode()和equals()方法
6. ArrayList刪除元素和判斷元素是否存在只依賴equals() 而HashSet依賴hashCode() 和 equals()
7. TreeSet集合可以對存儲的元素進行排序,故往TreeSet集合中存儲的元素必須具有比較性
8. 字符串排序需要比較,比較需要調用compareTo(String s)方法
9. 二叉樹都是通過return 0或1或 -1來比較元素是否相同
10. 泛型可以用在類上,方法上
11. 泛型中? 代表的是佔位符,沒有明確的類型,而T可以代表一個具體的類型
12. 泛型限定有2個限制:一個是上限,一個是下限
13. 泛型限定是用於泛型擴展用的
14. ? 通配符(佔位符)
泛型的限定:
? extends E:可以接收E類型或者E的子類型。上限
? super E:可以接收E類型或者E的父類型。下限
15. HashSet的add方法的返回值是boolean類型,而HashMap的put方法的返回值是V
V代表的是第一次向Map集合中存儲的原來的那個值;
對與Map集合而言,存儲相同的Key Value對,若鍵相同,則值覆蓋
例如:System.out.println(map.put(“01”,”zhangsan01”)); //null
System.out.println(map.put(“01”,”wangwu”)); // zhangsan01
16. 用static修飾的接口是內部接口,Entry就是Map的一個子接口
17. Map.Entry是Map中的映射關係對象,此接口包含Key Value對可以通過Map.Entry對象進行獲取
18. Entry接口爲什麼要定義在Map接口的內部
Entry接口中定義了用來描述Map接口中的key value對的映射規則
故Entry接口定義在了Map接口的內部,具體的規則由具體的子類來實現
19. 若元素存儲到哈希表中則要複寫hashCode()和equals()
20. 若元素存儲到二叉樹中則要複寫compareTo(T o) 或 compare(T o1 T o2)方法
21. 對單列集合進行排序用TreeSet,對雙列集合進行排序用TreeMap
22. TreeSet的底層數據結構用的是TreeMap,TreeMap只對存儲元素的key進行排序
實現元素排序有2種方式,一種是讓元素自身具備比較性,一種是讓集合具備比較性
讓元素自身具備比較性,需要讓元素實現Comparable接口,讓集合具備比較性需要自定義一個比較器,並實現Comparator接口
23. 泛型裏面接收的都是引用數據類型
24. 集合變數組:Collection接口的 <T> T[ ] toArray(T a)方法
25. 數組變集合:Arrays類的<T> List<T> asList(T… a)方法
26. import static java.util.Arrays.*;//導入的是Arrays這個類中所有的靜態成員
27. 方法的可變參數在使用時需注意:可變參數一定要定義在參數列表最後面
---------------------- ASP.Net+Android+IOS開發 、 .Net培訓 期待與您交流! ----------------------
詳細請查看:http://edu.csdn.net