Remove duplicates from a list and keep the order
Description: Remove the duplicates from [4, 7, 4, 1, 7, 9, 1] and keep the order of the first appearance.
Hint:
- A
LinkedHashSetkeeps the insert order. Or usestream().distinct().
Solution
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = List.of(4, 7, 4, 1, 7, 9, 1);
List<Integer> a = new ArrayList<>(new LinkedHashSet<>(numbers));
List<Integer> b = numbers.stream().distinct().toList();
System.out.println(a);
System.out.println(b);
}
}
Output
[4, 7, 1, 9]
[4, 7, 1, 9]
How it works
- A set does not allow duplicates, and the linked version remembers the order.
Read HashSet and LinkedList.
Learn more about the similar topics:
| Tutorials |
|---|
| No Content Found. |
| Exercises & Assignments |
|---|
| No Content Found. |
| Interview Questions & Answers |
|---|
| No Content Found. |