Approach 1: Using Stream.sorted()
List<Integer> nums = Arrays.asList(4,1,3,2); List<Integer> sorted = nums.stream() .sorted() .collect(Collectors.toList()); System.out.println(sorted); // [1, 2, 3, 4]
Why it works:
sorted()
uses natural ordering for elements.
Approach 2: Using Comparator.naturalOrder()
(Alternative)
List<Integer> nums = Arrays.asList(4,1,3,2); List<Integer> sorted = nums.stream() .sorted(Comparator.naturalOrder()) .collect(Collectors.toList()); System.out.println(sorted); // [1, 2, 3, 4]
Why it works:
- Explicitly provides a comparator for clarity.
- Useful in generic code where type may not have natural ordering.