一.Map HashMap<K,V > 不允许K重复,但是,值可以重复 Interface Map<K,V> K:键 ,V:值, 这个集合中是的元素是一对一对的出现的。实例化对象要多态 重要的方法: put(K key, V value) 将指定的值与该映射中的指定键相关联(向Map集合中加入元素),如果key ,重复默认会覆盖上一件重复的记录。 get(Object key) 返回指定键映射到的值,如果此映射不包含该键的映射,则返回 null 。 keySet() 返回集合中的键集合 values() 返回集合中的值集合 entrySet() 返回集合中所有键值对集合 --------------------------------------------------- containsKey(Object key) 如果此映射包含指定键的映射,则返回 true 。 containsValue(Object value) 如果此映射将一个或多个键映射到指定的值,则返回 true 。 isEmpty() size() 二.Map 集合的遍历方法:(<int ,Student> ) (<Student ,String> String 地址 这里要保证学生的唯一性,要在学生类里重写 HashCode(),equals()) 方法一:键找值 eg: MyHashMapDemo hsMap 1 keySet() 获取集合键集合, 2.增加for循环,用get(key)得到 对应的值 3.sout 方法二:键值对找键和值 eg: MyHashMapDemo hsAddress 1 entrySet() 获取键值对集合 2.增强for遍历键值对集合 3.Map.Entry 中的getKey() getValue() 来取得每一对键值,对应键和值
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapDemo {
public static void main(String[] args) {
//定义一个Map集合
HashMap<Integer, String> hsMap = new HashMap<Integer, String>();
//向集合中增加元素
hsMap.put(202001,"李一");
hsMap.put(202002,"王三");
hsMap.put(202003,"李四");
hsMap.put(202004,"张三");
hsMap.put(202004,"周五");
System.out.println(hsMap.isEmpty());
System.out.println(hsMap.size());
System.out.println("----键找值----");
//遍历集合,方法一:键找值
Set<Integer> intKey = hsMap.keySet();
for(Integer k :intKey){
String vlues = hsMap.get(k);
System.out.println(k+","+vlues);
}
System.out.println("---键值对找键和值--");
//遍历集合,方法二:键值对找键和值
Set<Map.Entry<Integer, String>> meSet = hsMap.entrySet();
for(Map.Entry<Integer, String> me :meSet){
Integer key = me.getKey();
String value = me.getValue();
System.out.println(key+","+value);
}
}
}