样本输出一切正常:{=2,A=1,s=1,e=1,W=1,I=1,l=4}
你可以试试这个,
Arrays.stream("inputstring".split(""))
.map(String::toLowerCase)
.collect(Collectors.groupingBy(s -> s, LinkedHashMap::new, Collectors.counting()))
.forEach((k, v) -> System.out.println(k + " = " + v));
无序:
"All Is Well"
.chars()
.mapToObj(c -> (char) c)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.forEach((k, v) -> System.out.println("'" + k + "' = " + v));
按字母顺序排列&下层:
"All Is Well"
.chars()
.mapToObj(c -> (char) c)
.map(Character::toLowerCase)
.collect(Collectors.groupingBy(s -> s, TreeMap::new, Collectors.counting()))
.forEach((k, v) -> System.out.println("'" + k + "' = " + v));
样本输出:
' ' = 2
'a' = 1
'e' = 1
'i' = 1
'l' = 4
's' = 1
'w' = 1