一.HashMap
import java.util.HashMap;
import java.util.Map;
//key ---键 value ---值
public class Map1 {
public static void main(String[] args) {
Map<String,Integer> map=new HashMap<>();
//添加功能:V put(K key,V value) 将指定的值与此映射中的指定键关联
map.put("张三", 87);
map.put("李四", 98);
System.out.println(map);//{李四=98, 张三=87}
//获取功能
// Set<Map.Entry<K,V>> entrySet() :和Map集合的遍历有关系(键值对对象)
// Set<K> keySet() :获取映射关系中所有的键的集合
// int size() :此映射中的键-值映射关系数
System.out.println(map.keySet());//[李四, 张三]
System.out.println(map.entrySet());//[李四=98, 张三=87]
System.out.println(map.size());//2
//删除功能
// void clear() :删除所有映射关系
// V remove(Object key) :如果存在一个键的映射关系,则将其从此映射中移除
// map.remove("张三");
// System.out.println(map);//{李四=98}
//判断功能:
// boolean containsKey(Object key) :如果此映射包含指定键的映射关系,则返回 true
// boolean containsValue(Object value) :映射关系中是否包含指定的值
// boolean isEmpty() :判断映射关系是否为空
System.out.println(map.containsKey("张三"));//true
System.out.println(map.containsValue(98));//true
System.out.println(map.isEmpty());//false
}
}
二.HashMap的两种遍历方式
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
//两种遍历方式
public class Map2 {
public static void main(String[] args) {
Map<String,Integer> map=new HashMap<>();
map.put("张三", 87);
map.put("李四", 98);
map.put("王五", 47);
map.put("杨六", 67);
//第一种
//先获得所有的键
Set<String> set=map.keySet();
//增强for循环,将 键 赋给s
for(String s:set) {
//通过get()方法将值赋给i
Integer i=map.get(s);
System.out.println(s+"---"+i);
}
System.out.println("---------------------");
//第二种
//先获得所有的键值对
Set<Entry<String, Integer>> en = map.entrySet();
//增强for循环,将 键和值 赋值给si
for(Entry<String, Integer> si:en) {
//分别获得键和值
String s=si.getKey();
Integer i=si.getValue();
System.out.println(s+"---"+i);
}
}
}