【发布时间】:2010-12-09 07:27:03
【问题描述】:
我知道 Set 和 List 之间的区别(唯一与允许重复,未排序/排序等)。我正在寻找的是一个保持元素有序的集合(这很容易),但我还需要能够恢复插入元素的索引。因此,如果我插入四个元素,那么我希望能够知道其中一个元素的插入顺序。
MySet<String> set = MySet<String>();
set.add("one");
set.add("two");
set.add("three");
set.add("four");
int index = set.getIndex("two");
因此,在任何给定时刻,我都可以检查是否已经添加了字符串,并获取集合中字符串的索引。有没有这样的,还是需要我自己实现?
【问题讨论】:
-
如果您同时删除“one”,您希望 getIndex 返回什么?
-
如果它不在 commons-collections commons.apache.org/collections 那么我认为你必须自己实现它
-
好吧,既然集合应该是有序的,如果一个元素被移除,那么所有插入的元素都将被重新分配一个位置。我想如果我对不存在或已被删除的元素执行 getIndex,我会得到 -1。