1. 程式人生 > >關於Java集合的一些技巧

關於Java集合的一些技巧

需要唯一嗎?

需要:Set
----需要指定順序嗎?
---------需要: TreeSet
---------不需要:HashSet
---------但是想要一個和儲存一致的順序(有序):LinkedHashSet

不需要:List
----需要頻繁增刪嗎?
---------需要:LinkedList
---------不需要:ArrayList

如何記住每一個容器的結構和所屬體系呢?

看名字!

List
---------ArrayList
---------LinkedList

Set
---------HashSet
---------TreeSet

字尾名就是該集合所屬的體系。

字首名就是該集合的資料結構。

看到array:就要想到陣列,就要想到查詢快,有角標.
看到link:就要想到連結串列,就要想到增刪快,就要想要 add get remove+frist、last的方法
看到hash:就要想到雜湊表,就要想到唯一性,就要想到元素需要覆蓋hashcode方法和equals方法。
看到tree:就要想到二叉樹,就要想要排序,就要想到兩個介面Comparable,Comparator 。

而且通常這些常用的集合容器都是不同步的。