You can use Comparator.comparingInt
to perform this sort:
Using index 0
to sort arrays:
String[] s = {"bb", "ab", "cf", "aa"};
Arrays.sort(s, Comparator.comparingInt(s1 -> s1.charAt(0)));
Arrays.asList(s).forEach(System.out::println);
or sort lists:
List<String> s = Arrays.asList("bb", "ab", "cf", "aa");
s.sort(Comparator.comparingInt(s2 -> s2.charAt(0)));
s.forEach(System.out::println);
Outputs:
ab
aa
bb
cf
Otherwise using index 1
for sort arrays:
String[] s = {"bb", "ab", "cf", "aa"};
Arrays.sort(s, Comparator.comparingInt(s2 -> s2.charAt(1)));
Arrays.asList(s).forEach(System.out::println);
or index 1 for sorting lists
List<String> s = Arrays.asList("bb", "ab", "cf", "aa");
s.sort(Comparator.comparingInt(s2 -> s2.charAt(1)));
s.forEach(System.out::println);
Outputs:
aa
bb
ab
cf
PS: You question about java
, but your strings
and array
like javascript
..