Java выдаліць дублікаты са спісу

У гэтым паведамленні прыводзяцца прыклады, якія паказваюць, як выдаліць дублікаты элементаў з ArrayList у Java.



Выдаліць паўтараюцца радкі з ArrayList

Так як 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]

Выдаленне дублікатаў са спіса з дапамогай Java 8 Lambdas

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]