import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// 方法一 传统的处理方式
String str = "klfdsjgkldfshgfkjhfkjaftashfdsjfh";
char[] ch = str.toCharArray();
Map<String, Integer> map = new HashMap<>();
for (char c : ch) {
String cTo = String.valueOf(c);
if (!map.containsKey(cTo)) {
map.put(cTo, 1);
} else {
map.put(cTo, map.get(cTo) + 1);
}
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("字符" + entry.getKey() + "出现的次数是:" + entry.getValue());
}
// 方法二 guava提供的新集合
String[] split = str.split("");
ArrayList<String> strings = Lists.newArrayList(split);
Multiset<String> multiset = HashMultiset.create();
multiset.addAll(strings);
multiset.entrySet().forEach(a -> System.out.println("key:" + a + "->" +a.getCount()));
}
}
简单的统计相同的字符串出现的次数
执行结果:
字符a出现的次数是:2
字符s出现的次数是:4
字符d出现的次数是:3
字符t出现的次数是:1
字符f出现的次数是:7
字符g出现的次数是:2
字符h出现的次数是:4
字符j出现的次数是:4
字符k出现的次数是:4
字符l出现的次数是:2
key:a x 2->2
key:s x 4->4
key:d x 3->3
key:t->1
key:f x 7->7
key:g x 2->2
key:h x 4->4
key:j x 4->4
key:k x 4->4
key:l x 2->2