import java.util.*; public class StringSplit { public static void main(String[] args) { String str2 = "dgsdgadsgdsafsdff"; StringSplit stringSplit = new StringSplit(); Map map = stringSplit.results(str2); System.out.println(map); } public Map results(String str2){ /** * 将字符串转为字符数组(可能含有重复元素) */ char[] chars = str2.toCharArray(); /** * HashMap 存结果 */ HashMap<Character, Integer> map = new HashMap<>(); /** * HashSet 去重 */ HashSet<Character> sets = new HashSet<>(); for (char aChar : chars) { sets.add(aChar); } /** * 将去重的结果重新变为数组 */ Character[] chas = new Character[sets.size()]; Character[] characters = sets.toArray(chas); /** * 数据处理 */ for (int i = 0; i < characters.length; i++) { int num = 0; for (int j = 0; j < chars.length; j++) { if (characters[i] == chars[j]) { num++; } } map.put(characters[i],num); } return map; } }
输出结果如下: