目录
- HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。
- HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度;
- 最多允许一条记录的键为 null;
- 不支持线程同步;
- HashMap 是无序的,即不会记录插入的顺序。
- HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
1、方法
- 添加:put()
- 访问:get()
- 迭代:for循环,key-keySet(),value-values()
- 删除:remove()-删除指定元素,clear()-清空
- 大小:size()
2、代码
- import java.util.HashMap;
-
- public class Day32 {
- public static void main(String[] args){
- // 创建HashMap
- HashMap
language = new HashMap<>(); -
- // 添加
- language.put(1, "Java");
- language.put(2, "Python");
- language.put(3, "C++");
- language.put(4, "C");
- language.put(5, "PHP");
- language.put(6, "Go");
- System.out.println("------put()------");
- System.out.println(language);
-
- // 访问
- System.out.println("------get()------");
- System.out.println(language.get(2));
-
- // 迭代
- System.out.println("------for循环------");
- for (Integer k: language.keySet()){
- System.out.println("key: " + k + ", value: " + language.get(k));
- }
-
- System.out.println("------for循环------");
- for (String value: language.values()){
- System.out.println(value + ", ");
- }
-
- // 删除
- System.out.println("------remove()------");
- System.out.println(language.remove(2));
- System.out.println("删除之前的大小: " + language.size());
- System.out.println("------clear()------");
- language.clear();
- System.out.println("删除之后的大小: " + language.size());
-
- }
- }
- ------put()------
- {1=Java, 2=Python, 3=C++, 4=C, 5=PHP, 6=Go}
- ------get()------
- Python
- ------for循环------
- key: 1, value: Java
- key: 2, value: Python
- key: 3, value: C++
- key: 4, value: C
- key: 5, value: PHP
- key: 6, value: Go
- ------for循环------
- Java,
- Python,
- C++,
- C,
- PHP,
- Go,
- ------remove()------
- Python
- 删除之前的大小: 5
- ------clear()------
- 删除之后的大小: 0