Java 8 | Fetch top N unique numbers from list
Below Java 8 example shows how to fetch top N unique numbers from ArrayList.
Traditional looping will require more logic to first remove duplicates, sort numbers and then store N numbers to different list.
Java 8 provides stream API to do all the above steps in single line of code.
Descending order (N = 3)
Traditional looping will require more logic to first remove duplicates, sort numbers and then store N numbers to different list.
Java 8 provides stream API to do all the above steps in single line of code.
Descending order (N = 3)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
List<Integer> integers = new ArrayList<>(); | |
integers.add(1); | |
integers.add(2); | |
integers.add(1); | |
integers.add(5); | |
integers.add(5); | |
integers.add(6); | |
integers.add(4); | |
integers.add(0); | |
integers.stream().sorted((a, b) -> b-a).distinct().limit(3).forEach(System.out::println); | |
//Output | |
6 | |
5 | |
4 |
Ascending order (N = 3)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
List<Integer> integers = new ArrayList<>(); | |
integers.add(1); | |
integers.add(2); | |
integers.add(1); | |
integers.add(5); | |
integers.add(5); | |
integers.add(6); | |
integers.add(4); | |
integers.add(0); | |
integers.stream().sorted().distinct().limit(3).forEach(System.out::println); | |
//Output | |
1 | |
2 | |
4 |
Comments
Post a Comment