Skip to content

Commit 6a58143

Browse files
committed
Day-7 : Sort a list of strings in alphabetical order
1 parent 37d4986 commit 6a58143

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.java8;
2+
3+
import java.util.Arrays;
4+
import java.util.Comparator;
5+
import java.util.List;
6+
import java.util.stream.Collectors;
7+
8+
public class SortListOfString {
9+
10+
public static void main(String[] args) {
11+
List<String> brands = Arrays.asList("adidas", "zudio", "Puma", "nike", "airbnb");
12+
13+
List<String> naturalOrder = sortNatural(brands);
14+
List<String> caseInsensitiveOrder = sortIgnoreCase(brands);
15+
List<String> reverseOrder = sortReverse(brands);
16+
17+
System.out.println("Input list : " + brands);
18+
System.out.println("Natural sort : " + naturalOrder);
19+
System.out.println("Case-insensitive sort : " + caseInsensitiveOrder);
20+
System.out.println("Reverse sort : " + reverseOrder);
21+
}
22+
23+
// Default lexicographical sorting (uppercase letters come before lowercase).
24+
private static List<String> sortNatural(List<String> values) {
25+
return values.stream()
26+
.sorted()
27+
.collect(Collectors.toList());
28+
}
29+
30+
// User-friendly sorting when input may contain mixed-case text.
31+
private static List<String> sortIgnoreCase(List<String> values) {
32+
return values.stream()
33+
.sorted(String.CASE_INSENSITIVE_ORDER)
34+
.collect(Collectors.toList());
35+
}
36+
37+
// Reverse sorting using a comparator.
38+
private static List<String> sortReverse(List<String> values) {
39+
return values.stream()
40+
.sorted(Comparator.reverseOrder())
41+
.collect(Collectors.toList());
42+
}
43+
}

0 commit comments

Comments
 (0)