В этом посте представлены примеры, показывающие, как удалить повторяющиеся элементы из ArrayList в Java.
Поскольку a Set
не может содержать повторяющиеся элементы, мы можем создать экземпляр Set
объект, передаваемый в ArrayList с дубликатами в качестве параметра.
Например:
import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.Set; public class RemoveDuplicatesFromArrayList {
public static void main(String[] args) {
ArrayList pets = new ArrayList();
pets.add('cat');
pets.add('dog');
pets.add('cat');
pets.add('hamster');
System.out.println(pets);
Set hashSet = new LinkedHashSet(pets);
ArrayList removedDuplicates = new ArrayList(hashSet);
System.out.println(removedDuplicates);
} }
Выход:
[cat, dog, cat, hamster] [cat, dog, hamster]
Связанный:
Точно так же мы можем использовать ту же методологию для удаления повторяющихся целых чисел.
import java.util.*; public class RemoveDuplicatesFromArrayList {
public static void main(String[] args) {
List numbers = Arrays.asList(1,2,2,2,3,5);
System.out.println(numbers);
Set hashSet = new LinkedHashSet(numbers);
ArrayList removedDuplicates = new ArrayList(hashSet);
System.out.println(removedDuplicates);
} }
Выход:
[1, 2, 2, 2, 3, 5] [1, 2, 3, 5]
import java.util.*; import java.util.stream.Collectors; public class RemoveDuplicatesFromArrayList {
public static void main(String[] args) {
List numbers = Arrays.asList(1,2,2,2,3,5);
System.out.println(numbers);
List removedDuplicates = numbers.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(removedDuplicates);
} }
Выход:
[1, 2, 2, 2, 3, 5] [1, 2, 3, 5]