覆盖的单元素Java数据结构

时间:2013-06-25 14:26:46

标签: java data-structures

我一直在使用TreeMap<String,Object>存储对象,因为它们不允许带有重复键的条目,

是否存在类似的数据结构,只接受值/键并且不允许重复输入?

类似于Type<String>,其中所有字符串都必须不同(或者它们会覆盖)

直到现在我一直在使用Vector<String>进行检查,以确定在添加条目之前条目是否已经存在于向量中,这有点混乱。

3 个答案:

答案 0 :(得分:8)

Set正是您要找的。这个接口有几种实现方式。最常见的是HashSet(快速contains()操作,但订单无法保证),TreeSet(这实际上是SortedSet的实现,TreeSet中存储的实例应该实现Comparable),最后一个常用的是LinkedHashSetLinkedHashSet的顺序来源于时间元素被添加到容器中。

最近,我看到了这个方便的图表:diagram

答案 1 :(得分:5)

您正在寻找Set<String>,更具体地说是TreeSet<String>

此外,请不要使用Vector,而是使用List支持的ArrayList。请参阅:

答案 2 :(得分:3)

您可以使用Set和您建议的等效内容TreeSet。不过,我认为HashSet可以更好地完成您描述的任务。