赞
踩
Map集合简介
Map集合的特点
HashMap是采用哈希表的Map
什么是哈希表:
哈希表的本质是数组,数组类型是链表
哈希表的元素存储
// 增加元素 // put(key, value):在map集合中增加一对key-value键值对 // 如果key重复的话则值会进行覆盖 // 允许key和value为null HashMap<String,String> hashMap = new HashMap<>(; hashMap.put("司马相如","卓文君"); hashMap.put("刘秀","阴丽华"); hashMap.put("刘彻","卫子夫"); hashMap.put("项羽","虞姬"); hashMap.put("项羽","吕雉"); hashMap.put("项羽","卓文君"); hashMap.put(null, null); // 查询元素 // get (key):根据输入的key值查询map集合中的对应的value值 // 如果输入的key在map集合中不存在那么返回null String value1 = hashMap.get("123"); System.out.println(value1); System.out.println("---------"); String value2 = hashMap.get("刘秀"); System.out.println(value2); // 删除元素 // remove(key):根据输入的key删除map集合中对应的key-value键值对 // 如果输入的key不存在于map集合中,则返回null String result2 = hashMap.remove("456"); System.out.println (hashMap.get("刘秀")); System.out. println(result2); System.out. println("---------"); String name = "123"; // 判断key是否存在于map集合 // containsKey (key):查询输入的key是否存在于map集合存在返回true不存在返回false boolean result3 = hashMap.containsKey(name) ; System.out.println("输入的key:"+name+"在map集合中是否存在:"+result3); System.out.println("---------"); String valueName = "789"; boolean result4 = hashMap.containsValue(valueName) ; System.out.println("输入的value:"+valueName+"在map集合中是否存在:"+result4); System.out.println("---------"); // 遍历map集合 // entrySet():获取map集合中所有的entry对象返回的类型是Set Set<Map.Entry<String,String>> entries = hashMap.entrySet(); //获取迭代器对象 Iterator<Map.Entry<String,String>> iterator = entries.iterator System.out.println("第一种遍历方式:"); while (iterator.hasNext()){ Map.Entry<String,String>next = iterator. next();String key = next.getKey (); String value = next.getValue () ;System. out. print(key); System. out. println("\t\t"+value); } System.out.println("---------"); System.out.println("第二种遍历方式:"); for (Map. Entry<String,String> next : entries){ String key = next.getKey () ; String value = next. getValue() ;System. out. print(key); System.out.println("\t\t"+value); } System.out.println("---------"); // keySet():返回map集合中的所有key返回类型是Set Set<String> keySet = hashMap.keySet() ; System.out.println("遍历map集合中的所有key值"); for (String s : keySet){ System.out.printin(s); }
HashMap基本结构:
HashMap源码结构:
HashMap中put方法流程图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。