2012-03-17 3 views
3

хороший день!Как я могу убедиться, что элементы в списке последовательны?

Я хотел бы спросить, есть ли у меня список предметов, например 1,2,3,4,5 .. , после чего я вставляю значение «3» в «7», что вызовет у меня ошибку список не является последовательным.

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

Почему бы не написать метод, который проверяет, является ли элемент вы собираетесь вставить больше, чем его предшественник, и меньше, чем его преемник ? –

ответ

0

Вы можете переопределить ArrayList, установить и добавить методы для проверки, является ли набор элемент/добавить и бросить IllegalArgumentException, если это не так.

Почему бы не собрать коллекцию, которая всегда сортируется.

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

Таким образом, ваш добавленный товар всегда будет в нужном месте.

0

Продлить ArrayList и переопределить add() & addAll() метод,

или простое использование Comparator & TreeSet

0

Если вы хотите, чтобы получить исключение при замене элемента, как вы описали, лучший способ заключается в расширять или обертывать список и переопределять методы добавления.

Если все, что вам действительно нужно, это отсортированный список, используйте одну из реализаций SortedSet.

Смежные вопросы