文章目录
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();// HashSet for (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()); } } }