java-API之集合10——HashMap实现类

特点

  • 基于哈希表的 Map 接口的实现。
  • 允许使用 null 值和 null 键。
  • 此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
  • 默认初始容量 是16 和默认加载因子 0.75

HashMap 的实例有两个参数影响其性能:初始容量 和加载因子容量 是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子 是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。 

常用方法及测试

参考:java-API之集合9——Map接口

案例

 1 public class Test_MapTest {
 2 
 3     public static void main(String[] args) {
 4 
 5         // 1、接收用户输入的字符串
 6         String input = new Scanner(System.in).nextLine();
 7         // 存储字符及字符出现的次数
 8 
 9         HashMap<Character,Integer> map = new HashMap<>();
10         // 2、获取字符串中的每个字符
11         for (int i = 0; i < input.length(); i++) {
12             // 根据下标获取字符
13             char key = input.charAt(i);
14 
15             // 3、统计字符出现的次数
16             // 方法1
17 //            if(map.containsKey(key)) {
18 //                int count = map.get(key);
19 //                map.put(key,++count);
20 //            }else {
21 //                map.put(key,1);
22 //            }
23 
24             // 方法2
25             Integer count = map.get(key);  //获取当前值出现的次数
26             if(count == null) { // 如果等于null,则证明此字符没有出现过
27                 map.put(key, 1);
28             }else { // 如果不等于null,则证明此字段出现过,加1
29                 map.put(key, ++count); 
30             }
31         }
32         System.out.println(map);
33     }
34 }

 

posted @ 2020-03-10 07:54  技术狂-CYL  阅读(143)  评论(0编辑  收藏  举报