В этой статье будут предоставлены два метода удаления повторяющихся элементов из ArrayList, который использует Hashset и LinkedHashset.
ArrayList является одним из наиболее часто используемых типов сбора в Java. Это позволяет гибко добавлять несколько нулевых элементов, повторяющиеся элементы и поддерживать порядок вставки элемента. При кодировании мы часто сталкиваемся с требованиями, которые должны удалять повторяющиеся элементы из застроенного массива.
Метод 1: Используйте хэшсет для удаления повторяющихся элементов в ArrayList
В этом методе мы используем хэшсет для удаления повторяющихся элементов. Как вы знаете, Hashset не разрешает повторяющиеся элементы. Мы используем этот атрибут Hashset для удаления дублирующих элементов в застроенной ArrayList. Однако этот метод имеет недостаток. То есть он удалит порядок введения элементов в ArrayList. Это означает, что после удаления повторяющихся элементов порядок элемента не прав. Давайте посмотрим на следующий пример.
Import java.util.arraylist; add ("java"); / Печать ListWithDuplicateElements System.print ("Arraylist с дублирующимися элементами:"); String> TS = New ArrayList <string> (set);Выход:
Arraylist с дублирующимися элементами: [Java, J2EE, JSP, сервлеты, Java, Struts, JSP] ArrayList после переноса дублирующих элементов: [Java, JSP, J2EE, Str UTS]
Обратите внимание на результаты вывода. Вы обнаружите, что после удаления дублирующих элементов элемент перескачен. Больше не организовано в порядке вставки. Если вы хотите сохранить порядок элементов после удаления повторяющихся элементов, не рекомендуется использовать этот метод. Существует другой метод, который может гарантировать, что порядок вставки элемента не изменяется после удаления повторяющихся элементов. То есть использовать LinkedHashset.
Метод 2: Используйте LinkedHashset для удаления повторяющихся элементов в ArrayList
В этом методе мы используем LinkedHashset для удаления повторяющихся элементов в ArrayList. Как вы знаете, LinkedHashset не разрешает повторяющиеся элементы, сохраняя при этом порядок введения элемента. Эти два атрибута LinkedHashset могут гарантировать, что после удаления повторяющихся элементов в ArrayList порядок вставленных элементов все еще поддерживается. Смотрите следующий пример.
Import java.util.arraylist; ); ("Arraylist с дублирующимися элементами:"); ; // Печать списка с помощью системы.Выход:
ArrayList с дублирующимися элементами: [Java, J2EE, JSP, сервлеты, Java, Struts, JSP] ArrayList после переноса дублирующих элементов: [Java, JSPE, обслуживание UTS]
Обратите внимание на выход. Вы можете обнаружить, что после удаления повторяющихся элементов в ArrayList порядок вставки все еще поддерживается.
Выше всего содержимое этой статьи.