Map常用子类和常用方法
Map常用子类
java,util. HoshNap<k,v>集合impLements Map<k, v>接口
HashMap集合的特点:
1.HashMap集合底层是哈希表:查询的速度特别的快
JDK1.8之前:数组+单向链表
JDK1.8之后:数组+单向链表/红黑树(链表的长度超过8:提高查询的速度
2.hashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致
java.util.LinkedHashMap<k, v>集合extends HashMap<k, v>集合
LinkedHashMap的特点:
1.LinkedHashNap集合底层是哈希表+链表(保证送代的顺序)
2.LinkedHashNap集合是一个有序的集合、存储元素和取出元素的顺序是一致的
Map常用方法
public static void main(String[] args) { // showe1(); // show2(); // show3(); show4(); } /* public v put(K key, v value):把指定的键与指定的值添加到Map集合中。 返回值:v 存储键值对的时候, key不重复,返回值v是nulL 存储键值对的时候, key重复,会使用新的value替换map中重复的value,返回被替换的value值 */ private static void showe1() { //创建Map集合对象,多态 Map<String, String> map = new HashMap<>(); String v1 = map.put("李信", "公孙离"); System.out.println("v1: " + v1); String v2 = map.put("李信", "公孙离"); System.out.println("v2 : " + v2); System.out.println(map); map.put("刀锋","幽灵刀锋"); map.put("赛斯","疯狂宝贝"); map.put("贝利亚","奥特曼"); System.out.println(map); } /* public V remove(Object key):把指定的键所对应的键值对元素在Nap集合中删除,返回被删除元素的值 返回值:v key存在,v返回被删除的值key不存在,v返回null */ private static void show2(){ //创建Map集合对象 Map<String , Integer> map = new HashMap<>(); map.put("绿巨人" ,168); map.put("钢铁",165); map.put("蜘蛛",178); System.out.println(map); Integer v1 = map. remove("绿巨人"); System.out.println( "v1: "+v1); System.out.println(map); Integer v2 = map.remove( "绿巨人"); System.out.println( "v2 : "+v2); System.out.println(map); } /* public v get(0bject key)根据指定的键,在Nap集合中获取对应的值。 返回值: key存在,返回对应的value值key不存在,返回null */ private static void show3(){ //创建Map集合对象 Map<String , Integer> map = new HashMap<>(); map.put("美国队长",168); map.put("蚁人",165); map.put("黄蜂",178); Integer v1 = map.get("蚁人"); System.out.println("v1 : "+v1);//v1:165 Integer v2 = map.get("鹰眼"); System.out.println( "v2 : "+v2); } /* booLean containskey(object key)判断集合中是否包含指定的键。包含返回true,不包含返回faltse */ private static void show4(){ //创建Map集合对象 Map<String , Integer> map = new HashMap<>(); map.put("神奇女侠",168); map.put("铁人",165); map.put("灭霸",178); boolean b1 = map.containsKey("神奇女侠"); System.out.println("b1: "+b1); boolean b2 = map.containsKey("铁人"); System.out.println( "b2 : "+b2); }
Map map = new HashMap(); //创建map 1、添加 map.put("1","小说") putAll(Map<? extends K,? extends V> m) //从指定映射中将所有映射关系复制到此映射中(可选操作)。 2、删除 map.remove("1") //删除指定key的键值对,返回被删除的key关联的value,不存在返回null map.remove("1","小说") //删除指定的键值对,成功返回true map.clear() //删除map中的所有键值对 3、计数 map.size() //返回map中键值对的个数 4、判断 map.isEmpty() //判断是否为空 map.containsKey("1") //判断Map中是否包含指定的Key map.containsValue("小说"); //判断Map中是否包含指定的Value 5、取值 map.get("1") //返回指定Key对应的Value,不存在则返回null Collection set = map.entrySet() //返回Map中键值对所组成的Set集合,集合元素是Map.Entry(Map的内部类)对象 Collection set = map.keySet() //返回Map中的key的Set集合 Collection set = mat.values() //返回的是Map里所有的value组成的Collection
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本