Map 0f Java

整理关于Java的Map相关的知识,最近面试有被问到关于此类数据结构的知识,故写下来总结一番。List和Map都是java.util里面有关集合的数据结构类。Map主要的功能是元素对(键值对)的形式,每个键都映射到一个类。接下来我们介绍Map的分类、初始化、遍历的方式、排序方法以及常用API。Map类Java中的Map类可分为三种:通用Map:用于在应用程序内管理映射,通常在java.utils内HashMap、Hashtable、Properties、LinkedHashMap、IdentityHashMap、TreeMap、WeakHashMap、ConcurrentHashMap专用Map:不必我们自己创建,而是通过其他应用程序访问java.util.jar.Attribute、javax.print.attribute.standard.PrinterStateReasons、java.security.Provider、java.awt.RenderingHints、javax.swing.UIDefaults自定义Map常用类型的区别HashMap最常用的Map,速度快,非同步(不支持线程同步)允许一条键为null:多了覆盖允许多条值为nullTreeMap用Iterator遍历的时候返回以key为序的序列故不允许key为空非同步HashTable类似HashMap,但是写入速度慢因为支持线程同步:同一时刻只能有一线程能写HashTableLinkedHashMap保持了插入顺序,Iterator遍历时先进先出key、value都允许为空用法1234567891011//建立HashMap<String, String> map = new HashMap<String, String>();//寻值map.get("key1");//插入map.put("key2", "value2");//移除map.remove("key1");//清空map.clear();//Map的遍历初始化123Map<String, String> map = new HashMap<String, String>();map.put("key1", "value1");map.put("key2", "value2");分别使用增强for循环和Iterator来遍历增强for循环遍历KeySet遍历123for (String key: map.keySet()){ System.out.println(key + ": " + map.get(key));}entrySet遍历12for (Map.Entry<String, String> entry: map.entrySet()){ System.out.println(entry.getKey()…

0 Comments