The first thing you need to know about Java's HashMap data type:
HashMap is the implementation of a hash table-based map interface. HashMap has two elements, one is key (key name), one is value (key value), it is equivalent to a dictionary, and the dictionary in Python is the same.
Find out how the repetition of each letter is achieved in an English alphabet:
The letters appearing in the text, as the key name (key), the number of occurrences as the key value (value), the key name in the HashMap can not be duplicated, then the number of these letters is counted as the number of these same key names.
The implementation can be from the beginning of the first letter, the letter into the hash table, the first is a:1, and then in order to save the 2nd letter f:1, if there is a repetition with the previous letter, the key value of the preceding letter + 1, such as AFA, traversing to the 3rd letter, a key value becomes 2, that a : 2, if you encounter space numbers, punctuation, and other special characters are excluded, do not insert, if you encounter punctuation marks also statistics do not need to judge the conditions, all inserted can.
The code is as follows:
1 ImportJava.util.HashMap;2
3 4 Public classHashmap_examp {5 6 Public Static voidMain (string[] args) {7hashmap<string,integer> map =NewHashmap<string,integer>();8String str= "afashfjgjkhlnmash,^566* integer GSHKJSHGKSDFSGDFHJK";9 for(intI=0;i<str.length (); i++){Ten CharC=Str.charat (i); OneString key=string.valueof (c); A if(Map.containskey (key)) { -Integer value=Map.get (key); -Map.put (Key, value+1); the } - Else{ - //map.put (key, 1); Statistics of all characters, including Chinese - if(c>= ' A ' &&c<= ' Z ' | | C>= ' a ' &&c<= ' Z ') {//use ASCII code to remove strings of numbers, spaces, punctuation, special characters +Map.put (Key, 1); - } + } A } at System.out.println (map); - } -}
Output Result:
{f=4, g=4, d=2, s=6, A=3, N=1, l=1, M=1, j=4, k=4, h=6}
Find a way to repeat the number of letters in an English alphabet (Java)