// 创建 HashMap 对象map
Map map = new HashMap();
// 返回所有 key 值
for (Integer i : map.keySet()) {
System.out.println("key: " + i);
}
// 返回所有 value 值
for(String value: map.values()) {
System.out.println("value: " + value);
}
for(Entry entry: map.entrySet()) {
System.out.println(entry);
System.out.println("key:"+entry.getKey());
System.out.println("value:"+entry.getValue());
}
2.对map进行排序
(1)根据map的value进行排序,先将map转为list,再用sort方法
Mapmap=new HashMap<>() //注意 ArrayList<>() 括号里要传入map.entrySet() List > list = new ArrayList<>(map.entrySet()); Collections.sort(list, new Comparator >() { @Override public int compare(Map.Entry o1, Map.Entry o2) { //按照value值,从小到大排序 // return o1.getValue() - o2.getValue(); //按照value值,从大到小排序 // return o2.getValue() - o1.getValue(); //按照value值,用compareTo()方法默认是从小到大排序 return o1.getValue().compareTo(o2.getValue()); } }); String[][] ans=new String[k][2]; //注意这里遍历的是list,也就是我们将map.Entry放进了list,排序后的集合 for(int i=0;i (2)根据map的key进行排序,利用TreeMap 1.无序,不允许重复(无序指元素顺序与添加顺序不一致)
2.TreeMap集合默认会对key进行升序排序,所以键必须实现自然排序和定制排序中的一种,可以通过使用Comparator接口自定义元素的排序
3…底层使用的数据结构是二叉树//TreeMap默认按key升序排列 Map3.HashMap 与 linkedHashMapmap = new TreeMap<>(); //TreeMap默认按key降序排列 Map map = new TreeMap<>(Collections.reverseOrder()); 1.HashMap 是无序的,即不会记录插入的顺序。最多允许一条记录的key为 null,不支持线程同步。
2.linkedHashMap是HashMap的子类,它内部有一个链表,保持插入的顺序。迭代的时候,也是按照插入顺序迭代,
Map4.map赋值map=new HashMap (); Map map2=new linkedHashMap (); Map5.map.getOrDefault()map=Map.of(1,"google",2,"baidu"); getOrDefault():获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值



