【发布时间】:2014-07-28 22:53:34
【问题描述】:
我需要一些描述不可变的有序集合的类/接口名称(按输入顺序,如LinkedHashSet)。我当然可以像这样使用这个类:
class Foo {
public final Set<Long> frozenOrderedSet;
public Foo(List<Long> input) {
frozenOrderedSet = Collections.unmodifiableSet(new LinkedHashSet(input));
}
}
但这并不能澄清我的方法。我想向阅读源代码的每个人说明,Set 是不可修改且唯一的,同时保持与for(Long l : set){} 的顺序。
【问题讨论】:
-
按照
SortedSet的顺序排列还是按照LinkedHashSet提供的那种顺序排列? -
好的,输入订单。我可能会在
unmodifiableSet包装器中使用LinkedHashSet,但我们会看看其他人是否知道更具体的内容。 -
Guava 提供an implementation。
-
是的,按照 John Entwistle 说的做,使用 Guava。
标签: java unordered-set unmodifiable