package javaBasic;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
*
* Java Program to find duplicate characters in String.
*
*
*
*
*
* @author http://java67.blogspot.com
*/
public class FindDuplicateCharacters {
public static void main(String args[]) {
printDuplicateCharacters("Programming");
printDuplicateCharacters("Combination");
printDuplicateCharacters("Java");
}
/*
*
* Find all duplicate characters in a String and print each of them.
*/
public static void printDuplicateCharacters(String word) {
char[] characters = word.toCharArray();
// build HashMap with character and number of times they appear in
// String
Map<Character, Integer> charMap = new HashMap<Character, Integer>();
for (Character ch : characters) {
if (charMap.containsKey(ch)) {
charMap.put(ch, charMap.get(ch) + 1);
} else {
charMap.put(ch, 1);
}
}
// Iterate through HashMap to print all duplicate characters of String
Set<Map.Entry<Character, Integer>> entrySet = charMap.entrySet();
System.out.printf("List of duplicate characters in String '%s' %n",
word);
for (Map.Entry<Character, Integer> entry : entrySet) {
if (entry.getValue() > 1) {
System.out.printf("%s : %d %n", entry.getKey(), entry
.getValue());
}
}
}
}
转载于:https://my.oschina.net/u/1412027/blog/206103
本文提供了一个Java程序示例,用于找出并打印指定字符串中的所有重复字符及其出现次数。通过使用HashMap来记录每个字符出现的频率,进而筛选出重复字符。


被折叠的 条评论
为什么被折叠?



