1. 程式人生 > >java的collection&&map集合總結

java的collection&&map集合總結

把自定義的物件放入HashSet或LinkedHashSet,為保證元素內容不重複,需要:

• 覆蓋hashCode( )方法,保證相同物件返回相同的值,提供
呼叫equals( )方法的機會。
• 覆蓋equals( )方法,相同物件返回true。
TreeSet是能夠給元素排序的Set集合,要給元素排序,必須提供排序規則。

提供排序規則的方式:
1/元素所屬的類實現Comparable介面
如果一個物件所屬的類實現了Comparable介面,則可以直
接把這些物件放入TreeSet集合中,TreeSet集合會自動呼叫對
象的compareTo( )方法,根據返回的結果進行排序:
• 負數:this物件排在obj物件之前
• 正數:this物件排在obj物件之後
• 0:視為重複物件

2/使用實現了Comparator介面的物件建立TreeSet物件
使用Comparator實現類的物件建立的TreeSet集合不會使用
物件的compareTo( )方法排序,所以不要求物件所屬的類必須
實現Comparable介面。TreeSet集合根據compare( )方法返回
的結果進行排序:
• 負數:o1物件排在o2物件之前
• 正數:o1物件排在o2物件之後
• 0:視為重複物件
Set set = new TreeSet ( new Comparator( ) {
public int compare( Object o1, Object o2 ) {
return ( ( Student ) o1 ).getAge( )
- ( ( Student ) o2 ).getAge( );
}
} );