Map用于保存具有映射关系的数据,Map集合里保存着Map里的Key和Key对应的Value值(与python中的字典的键值对类似)
Map中的Key和Value都可以是任何引用类型的数据
Map中的Key不允许重复,同一个Map中的任何两个Key通过equals比较返回false
Key和Value之间存在单项一对一的关系,指定的Key总有唯一的、确定的Value
创建Map
//map的泛型是两个类型 Map map = new HashMap(); //put添加数据 map.put("a",2); map.put(3,22); map.put("ab",4); map.put("c",12); map.put("3",222);
map.get(3);
map.remove("3");
map.size();
map.containsKey("a");
map.containsValue(2);
map.clear();
遍历
values:获取所有的value值,返回一个set
Set keys = map.keySet(); for(Object key : keys){ System.out.println(key+"="+map.get(key)); }
2. entrySet(en.getKey()、en.getValue)
Set<Map.Entry> entry = map.entrySet();//也可以不进行泛型 for(Map.Entry en: entry){ System.out.println(en); //or System.out.prinln(en.getKey()+"="+en.getValue) }
HashMap和Hashtable是Map接口的两个实现类
其他特点:
TreeMap存储时根据Key对键值对进行排序,TreeMap中的键值对是有序的
排序方法: