如何确保列表中的项目是连续的?

时间:2012-03-17 18:28:19

标签: java list arraylist

美好的一天!

我想问我是否有一个项目列表说1,2,3,4,5 .. 然后我插入一个替换值' 3'到' 7'这将导致我错误,因为列表不是顺序的。

List<Domain> items = new ArrayList<Domain>();

4 个答案:

答案 0 :(得分:0)

您可以覆盖ArrayList,设置和添加方法以检查项目集/添加是否有效,如果不是,则抛出IllegalArgumentException。

为什么没有一个总是排序的集合。

SortedSet<Domain> items = new TreeSet<Domain>();

这样,您添加的项目将始终位于正确的位置。

答案 1 :(得分:0)

扩展ArrayList并覆盖add()&amp; addAll()方法,

或简单使用Comparator&amp; TreeSet

答案 2 :(得分:0)

如果要在替换元素时获得异常(如您所述),最好的方法是扩展或包装列表并覆盖添加方法。

如果你真正想要的只是一个排序列表,请使用SortedSet实现之一。

答案 3 :(得分:0)

如果您使用的是Java 7,请尝试使用:

http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html