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

Java 如何确保列表中的项目是连续的?,java,list,arraylist,Java,List,Arraylist,你好 我想问一下我是否有一个项目清单,比如1,2,3,4,5。。 然后,我将替换值“3”插入到“7”,这将提示我一个错误,因为列表不是连续的 List<Domain> items = new ArrayList<Domain>(); List items=new ArrayList(); 您可以重写ArrayList、set和add方法,以检查set/add项是否有效,如果无效,则抛出IllegalArgumentException 为什么不创建一个总是排序的集合呢 S

你好

我想问一下我是否有一个项目清单,比如1,2,3,4,5。。 然后,我将替换值“3”插入到“7”,这将提示我一个错误,因为列表不是连续的

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

您可以重写ArrayList、set和add方法,以检查set/add项是否有效,如果无效,则抛出IllegalArgumentException

为什么不创建一个总是排序的集合呢

SortedSet<Domain> items = new TreeSet<Domain>();
SortedSet items=新树集();

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

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


或者简单使用
Comparator
&
TreeSet

如果您希望在替换元素时获得异常,如您所述,最好的方法是扩展或包装列表并覆盖add方法


如果您真正想要的只是一个排序列表,请使用其中一个实现。

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


为什么不编写一个方法来检查您要插入的项目是否比其前一个项目大,是否比其后续项目小?