双列集合HashMap中存储的方式:
HashMap<Character, Integer> hm = new HashMap<>() ;
Key类型为:Character ;
Values类型为:Integer ;
实现代码:
package com.demo.main;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
// 统计字符串中字符出现的次数 ,并且打印出来。
// 因为没有任何的需求所以选择HashMap就行 ,不用选取LinkedHashMap和TreeMap,因为HashMap操作速度比较快,LinkedHashMap和TreeMap操作比较慢。
HashMap<Character, Integer> hm = new HashMap<>() ; //这个是双列集合,左边存字符,右边存次数。
Scanner scr = new Scanner(System.in) ;
String str = scr.next() ;
char[] arr = str.toCharArray() ;
//记录出现次数方法一。
// for (char c : arr) {
// if(!hm.containsKey(c)){
// hm.put(c, 1);
// }else{
// hm.put(c,hm.get(c)+1);
// }
// }
//记录出现次数方法二。
for (char key : arr) {
hm.put(key, hm.containsKey(key)?hm.get(key)+1:1);
}
//因为HashMap集合不能直接遍历,需要根据Key进行遍历,所以首先要把所有的Key存入一个Set集合之中,所以使用keySet()方法。
Set<Character> st = hm.keySet() ;
for(Character key : st) {
System.out.println(key+"="+hm.get(key));
}
}
}