可能是重复问题:
Java中的排序集合
我想知道Java是否有自己的排序列表版本,或者我需要创建自己的版本。我希望列表在删除某些内容时可以自动更新。例如,如果我从列表开头或中间删除某些内容,我希望其后面的所有内容都向上移动,并且剩余的空值空间被删除。
可能是重复问题:
Java中的排序集合
我想知道Java是否有自己的排序列表版本,或者我需要创建自己的版本。我希望列表在删除某些内容时可以自动更新。例如,如果我从列表开头或中间删除某些内容,我希望其后面的所有内容都向上移动,并且剩余的空值空间被删除。
SortedList
,实际上是按照键排序的映射表,那么最接近的等价物可能是TreeMap
。这更像是SortedDictionary
而不是SortedList
,因为它是一棵树而不仅仅是一个列表,但这可能是最接近的可用选项。
然而,你所描述的更像是ArrayList
,类似于.NET的List<T>
。
Iterator.remove
从中间删除,但迭代器不会按任何特定顺序迭代。TreeSet
}}是最佳选择。如果需要重复项,则可以查看类似Apache common的{{link3:TreeBag
}}库。嗯,Java有许多比数组更智能的列表实现,尽管从您的描述中听起来您并不需要一个排序列表。
ArrayList或LinkedList将按照您的要求插入或删除元素:
public Object remove(int index)
- 删除列表中指定位置的元素。将任何后续元素向左移动(其索引减少1)。
您真的需要一个排序的列表,还是只是想要比数组更高级的东西?