ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

java中map常见方法

java中map常见方法 文章目录常见方法总结表最常用的几个1. put添加或修改2. get根据 key 获取 value3. getOrDefault获取 value不存在就给默认值4. containsKey判断 key 是否存在5. containsValue判断 value 是否存在6. remove根据 key 删除7. size获取键值对数量8. isEmpty判断是否为空9. clear清空 Map10. keySet获取所有 key11. values获取所有 value12. entrySet同时获取 key 和 value常见方法总结表方法作用put(key, value)添加或修改get(key)根据 key 获取 valuegetOrDefault(key, 默认值)获取 value不存在返回默认值containsKey(key)判断 key 是否存在containsValue(value)判断 value 是否存在remove(key)删除某个 keysize()获取键值对数量isEmpty()判断是否为空clear()清空keySet()获取所有 keyvalues()获取所有 valueentrySet()获取所有 key-value最常用的几个算法题里最常用的是这几个map.put(key,value);map.get(key);map.getOrDefault(key,0);map.containsKey(key);map.keySet();map.entrySet();map.size();尤其是统计次数时这句要熟map.put(key,map.getOrDefault(key,0)1);可以理解成当前 key 的次数 原来的次数 1 如果原来没有就从 0 开始加Java 里的Map常见方法可以按用途理解增、删、改、查、遍历、判断。下面用这个例子讲MapString,IntegermapnewLinkedHashMap();表示key 是 String 类型 value 是 Integer 类型比如苹果 - 3 香蕉 - 51. put添加或修改map.put(苹果,3);map.put(香蕉,5);作用往map里放数据。如果 key 不存在就是新增。如果 key 已经存在就是覆盖原来的 value。map.put(苹果,3);map.put(苹果,10);System.out.println(map.get(苹果));输出10因为第二次把苹果对应的值改成了10。2. get根据 key 获取 valueIntegercountmap.get(苹果);完整例子MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);System.out.println(map.get(苹果));输出3注意如果 key 不存在返回null。System.out.println(map.get(西瓜));输出null3. getOrDefault获取 value不存在就给默认值这个非常常用尤其是统计次数。map.getOrDefault(苹果,0);意思是如果 苹果 存在就返回它的 value 如果 苹果 不存在就返回默认值 0例子MapString,IntegermapnewLinkedHashMap();System.out.println(map.getOrDefault(苹果,0));输出0统计次数常用写法map.put(苹果,map.getOrDefault(苹果,0)1);这句话的意思是苹果原来出现了几次就 1 如果苹果第一次出现就当作 0 14. containsKey判断 key 是否存在map.containsKey(苹果);例子MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);System.out.println(map.containsKey(苹果));System.out.println(map.containsKey(西瓜));输出true false5. containsValue判断 value 是否存在map.containsValue(3);例子MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);System.out.println(map.containsValue(3));System.out.println(map.containsValue(10));输出true false这个没有containsKey常用。6. remove根据 key 删除map.remove(苹果);例子MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);map.remove(苹果);System.out.println(map);输出{香蕉5}7. size获取键值对数量map.size();例子MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);System.out.println(map.size());输出2注意这里统计的是key 的数量不是 value 的总和。8. isEmpty判断是否为空map.isEmpty();例子MapString,IntegermapnewLinkedHashMap();System.out.println(map.isEmpty());map.put(苹果,3);System.out.println(map.isEmpty());输出true false9. clear清空 Mapmap.clear();例子MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);map.clear();System.out.println(map);输出{}10. keySet获取所有 keymap.keySet();常用于遍历MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);map.put(橘子,2);for(Stringkey:map.keySet()){System.out.println(key);}输出苹果 香蕉 橘子如果想同时拿到 valuefor(Stringkey:map.keySet()){System.out.println(key map.get(key));}输出苹果 3 香蕉 5 橘子 211. values获取所有 valuemap.values();例子MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);map.put(橘子,2);for(Integervalue:map.values()){System.out.println(value);}输出3 5 212. entrySet同时获取 key 和 value这是遍历 Map 最推荐的方式。for(Map.EntryString,Integerentry:map.entrySet()){System.out.println(entry.getKey() entry.getValue());}完整例子importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){MapString,IntegermapnewLinkedHashMap();map.put(苹果,3);map.put(香蕉,5);map.put(橘子,2);for(Map.EntryString,Integerentry:map.entrySet()){System.out.println(entry.getKey() entry.getValue());}}}输出苹果 3 香蕉 5 橘子 2
返回列表