Map接口的实现类HashMap的常用方法
本博客供个人巩固学习使用,有些地方可能有错误,还希望大佬指出,本人多多改正
void clear(); 清空Map
boolean isEmpty();判断该集合是否为空
int size(); 获取Map中键值对的个数。
Object put(Object key, Object value); 向集合中添加键值对
Object get(Object key);通过key获取value
boolean containsKey(Object key); 判断Map中是否包含这样的key
boolean containsValue(Object value); 判断Map中是否包含这样的value
Object remove(Object key); 通过key将键值对删除.
Collection values(); 获取Map集合中所有的value
Set keySet(); 获取Map中所有的key
Set entrySet();返回此映射中包含的映射关系的 Set 视图。
注意:存储在Map集合key部分的元素需要同时重写hashCode+equals方法.
import java.util.*;
public class MapTest01 {
public static void main(String[] args) {
//创建Map集合(多态)
Map student = new HashMap();
//存储键值对,调用put方法
student.put("18407010110","小孙");
student.put("18407010111","小钱");
student.put("18407010112","小李");
student.put("18407010113","小赵");
student.put("18407010114","小周");
System.out.println(student);//输出Map
System.out.println(student.size());//判断键值对的个数
System.out.println(student.containsKey("18407010112")); //判断是否存在此键值
//Tip: Map中如果key重复了,value采用的是覆盖
System.out.println(student.containsValue("小李"));//判断是否存在此value
System.out.println(student.get("18407010114")); //通过key获取value
student.remove("18407010110");//通过key删除键值对
System.out.println(student.size());//4
Collection all_value = student.values();//获取集合中所有value值
System.out.println(all_value);//[小赵, 小周, 小钱, 小李]
Set all_key = student.keySet();//获取Map中所有的Key
System.out.println(all_key);//[18407010113, 18407010114, 18407010111, 18407010112]
Set ref = student.entrySet();//获取当前Map的key和value的映射关系
System.out.println(ref);//[18407010113=小赵, 18407010114=小周, 18407010111=小钱, 18407010112=小李]
使用Iterator遍历Map集合
Set key = student.keySet();
Iterator it = key.iterator();
while (it.hasNext()){
Object id = it.next();
Object name = student.get(id);
System.out.println(id+"--->"+student.get(id));
}
使用Iterator 的 iterator方法获取所有value
Collection allval = student.values();
Iterator it2 = allval.iterator();
while (it2.hasNext()){
System.out.println(it2.next());
}
小提示:
•HashMap 采用哈希表数据结构,以键值对的形式存储。
•HashMap 默认初始化存储容量是16,默认加载因子是0.75(即存储达到当前容量75%时自动扩容)。
•存储规律为无序不可重复
•Map中如果key重复了,后者的value会覆盖前者value。
•HashMap中的key等同于一个Set集合。