JAVA集合類中的對象比較
1 List 集合: 被比較的對象要重寫equals()方法, 調用List中contains()方法,就是用equals()方法比較的.
List 集合 (允許重復元素,允許空值)
2 HashSet集合(不允許重復元素,允許空值): 被比較的對象要重寫hashCode()方法和重寫equals()方法, 兩個都要.
3 TreeSet集合.(不允許重復元素):
方法一:被比較的對象(如學生類)實現Comparable接口,重寫CompareTo()方法.--(不允許空值)
方法二:TreeSet的構造方法,傳入Comparator接口的實現類,他是重寫了compare()方法.--(允許空值)
4 HashMap集合: 與HashSet情況一樣.
5 TreeMap集合: 與TreeSet情況一樣.
6 順便說一下, 對List排序可用Collections類的sort()方法.要用到Comparable或Comparator接口.
===========================================================
list:arraylist,vector,linkedlist,其中vetctor線程同步,linkedlist插刪
基本上list都是基于array的;里面的元素都可以重復;
set:hashset,treeset;set不能夠重復,set是基于map的;treeset是排序的
list和set是繼承collection接口的,map不是
map:hashtable,hashmap,treemap;hashtable是線程同步的,map的key不能夠重復,value可以;treemap是排序的
另外,沒記錯的話,list,set,map都是可以使用collections.sort()排序的
posted on 2009-05-11 13:44 彭偉 閱讀(867) 評論(0) 編輯 收藏 所屬分類: java技術分區