Java:按順序包含唯一元素的列表



java set (7)

所以你需要一個只包含唯一元素的列表? 兩個選項:

  • java.util.LinkedHashSet - 保留插入的順序,具有集合的語義
  • 來自commons-collections SetUniquieList - 允許列表操作,如get(..)set(..)
  • 來自commons-collections ListOrderedSet

在Java中是否有一個列表類型,按升序存儲對象,如果此對像是以前添加的,則不會添加。 我知道Java地圖可以做到這一點,但我不知道是否有一個列表類型,做我想要的。 否則,我必須重寫包含,equalsTo和添加方法,對不對?


SortedSet是Set的子接口,它保證了集合中的元素被排序。

SortedSet<Integer> orderedSet = new TreeSet<Integer>();

當您必須按照元素值的遞增順序存儲不重複的元素時使用它們




TreeSet可能正是你所需要的。

它將元素存儲在已排序的樹中。 所以你可以按排序順序遍歷它們。 這不是一個列表,但它添加和包含方面表現更好。


TreeSet將做的伎倆。 例如:

SortedSet<Integer> myOrderedUniqueList = new TreeSet<Integer>()






collections