1. 程式人生 > >java常用三大集合

java常用三大集合

一、Set集合,其主要實現類有HashSet、TreeSet。存放物件的引用,不允許有重複物件。 通過java的equals()方法判別。如果有特殊需求須過載equals()方法。

 1、HashSet(),呼叫物件的hashCode()方法,獲得雜湊碼,然後再集合中計算存放物件的位置。通過比較雜湊碼與equals()方法來判別是否重複。所以,過載了equals()方法同時也要過載hashCode()方法。

 2、TreeSet(),繼承ShortedSet介面,能夠對集合中物件排序。預設排序方式是自然排序,但該方式只能對實現了Comparable介面的物件排序,java中對Integer、Byte、Double、Character、String等數值型和字元型物件都實現了該介面。 如果有特殊排序,須過載該介面下的compareTo()方法或通過Comparator介面的實現類構造集合。

 二、List集合,其主要實現類有LinkedList、ArrayList,前者實現了連結串列結構,後者可代表大小可變的陣列。List的特點是能夠以線性方式儲蓄物件,並允許存放重複物件。List能夠利用Collections類的靜態方法sort排序。sort(List list)自然排序;sort(List listm,Comparator comparator)客戶化排序。 

三、Map集合,其主要實現類有HashMap、TreeMap。Map對值沒有唯一性要求,對健要求唯一,如果加入已有的健,原有的值物件將被覆蓋。HashMap類按照雜湊演算法來存取鍵物件,可以過載equals()、hashCode()方法來比較鍵,但是兩者必須一致。TreeMap,可自然排序,也可通過傳遞Comparator的實現類構造TreeMap。