问题:已知一个字符串,如何按照其字符第一次出现的顺序获取到字符出现的次数。
代码如下:
class="java"> String s = "3a1bd2caea1dcd2dcba45";
char[] charArray = s.toCharArray();
Map<String, Integer> map = new LinkedHashMap<String, Integer>();
for (int i = 0; i < charArray.length; i++) {
if(map.containsKey(String.valueOf(charArray[i]))){
map.put(String.valueOf(charArray[i]), map.get(String.valueOf(charArray[i])) + 1);
}else {
map.put(String.valueOf(charArray[i]), 1);
}
}
System.out.println(map); :wink:
使用LinkedHashMap按照key插入的顺序保持插入的顺序。
结果如下:
{3=1, a=4, 1=2, b=2, d=4, 2=2, c=3, e=1, 4=1, 5=1}