文章目录
- Map接口概述
- Map结构的理解
- Map接口常用方法
Map接口概述
Map与Collection并列存在,用于保存具有映射关系的数据:key-value
Map中的 key 和 value 都可以是任何引用类型的数据
常用String类作为Map的“键”。key 和 value 之间存在单向一对一关系,即通过指定的 key 总能找到唯一的、确定的 value
Map接口的常用实现类:HashMap、TreeMap、LinkedHashMap和Properties。其中,HashMap是 Map 接口使用频率最高的实现类
Map结构的理解
①Map中的key:无序的、不可重复的,使用Set存储所有的key —> key所在的类要重写equals() hashCode() ( 以HashMap为例)
②Map中的value:无序的、可重复的,使用Collection存储所有的value —>value 所在的类要重写equals()
③一个键值对:key-value构成了一个Entry对象。Map中的Entry:无序的、不可重复的,使用Set存储所有的entry
Map接口常用方法
import java.util.*;public class HashMapTest {public static void main(String[] args) {Map map = new HashMap();//map.put(..,..)省略System.out.println("map的所有key:");Set keys = map.keySet();// HashSetfor (Object key : keys) {System.out.println(key + "->" + map.get(key));}System.out.println("map的所有的value:");Collection values = map.values();Iterator iter = values.iterator();while (iter.hasNext()) {System.out.println(iter.next());}System.out.println("map所有的映射关系:");// 映射关系的类型是Map.Entry类型,它是Map接口的内部接口Set mappings = map.entrySet();for (Object mapping : mappings) {Map.Entry entry = (Map.Entry) mapping;System.out.println("key是:" + entry.getKey() + ",value是:" + entry.getValue());}}
}