Java HashMap 哈希映射


HashMap

  • HashMap 又称哈希映射或散列映射,其实现 Map 并扩展了 AbstractMap,本身没有增加任何新的方法;
  • HashMap 是无序的,元素加入散列映射的顺序并不是它们被迭代器读出的顺序;
  • HashMap 通过哈希表计算 键-值 的存储位置,最多允许一个 null,不支持线程同步;
  • HashMap 在面对大型的集合时,可以使 get() 和 put() 的运行时间保持恒定;

1. 构造方法

构造方法 说明
HashMap() 构造一个默认的散列映射
HashMap(Map m) 用 m 的元素初始化散列映射
HashMap(int capacity) 将散列映射的容量初始化为 capacity
HashMap(int capacity, float fillRatio) 用参数初始化散列映射的容量和填充比

2. 类的使用

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class test {
    public static void main(String[] args) {
        HashMap hm = new HashMap();
        hm.put("001", "apple");
        hm.put("002", "banana");
        //返回映射中包含的项的集合,以便使用迭代器
        Set s = hm.entrySet();
        Iterator it = s.iterator();
        while (it.hasNext()) {
            //用 Map.Entry 来操作映射的输入
            Map.Entry m = (Map.Entry) it.next();
            System.out.print(m.getKey() + ": ");
            System.out.println(m.getValue());
        }
        //put 旧键可以自动替换相应的值
        hm.put("001", new String("dog"));
        System.out.println(hm.get("001"));
        //返回映射的 键 的集合
        s = hm.keySet();
        it = s.iterator();
        String key = "";
        while (it.hasNext()) {
            //将 k 的集合强转为 String 类型
            key = (String) it.next();
            System.out.println(key + ":" + hm.get(key));
        }
    }
}
发布了59 篇原创文章 · 获赞 60 · 访问量 1572

猜你喜欢

转载自blog.csdn.net/Regino/article/details/104549629