美好的一天!
我想问我是否有一个项目列表说1,2,3,4,5 .. 然后我插入一个替换值' 3'到' 7'这将导致我错误,因为列表不是顺序的。
List<Domain> items = new ArrayList<Domain>();
答案 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