JAVA中的Map接口中常用的方法

    技术2025-07-23  8

    JAVA中的Map接口中常用的方法

    Map和Collection没有继承关系Map集合以key和value的方式存储数据:键值对 key和value都是引用数据类型, key和value都是存储对象的内存地址 key起主导作用,value是key的附属品

    例子:

    //创建map集合对象 key设为Integer型,value设为String型 Map<Integer, String> map = new HashMap<>(); V put(K key, V value) 向Map集合中添加键值对 //V put(K key, V value) 向Map集合中添加键值对 map.put(1,"zhangsan"); map.put(2,"lisi"); map.put(3, "wangwu"); map.put(4,"zhaoliu"); V get(Object key) 通过key获取value //V get(Object key) 通过key获取value System.out.println(map.get(3)); //wangwu V remove(Object key) 通过key删除对应的键值对 int size() 获取Map集合中键值对的个数 //V remove(Object key) 通过key删除对应的键值对 map.remove(2); //int size() 获取Map集合中键值对的个数 System.out.println(map.size()); //3 boolean containsKey(Object key) 判断Map中是否包含某个key //contains方法都是调用equals方法进行比对的,所以自定义的类需重写equals方法 //boolean containsKey(Object key) 判断Map中是否包含某个key System.out.println(map.containsKey(3));//true boolean containsValue(Object value) 判断Map中是否包含某个value //boolean containsValue(Object value) 判断Map中是否包含某个value System.out.println(map.containsValue("zhangsan"));//true Set keySet() 获取Map集合所有的key(所有的键是一个set集合,返回一个Set集合) //Set<K> keySet() 获取Map集合所有的key(所有的键是一个set集合,返回一个Set集合) Set<Integer> set = map.keySet(); Iterator<Integer> it1 = set.iterator(); while (it1.hasNext()){ Integer key = it1.next(); String value = map.get(key); //通过KeySet方法来遍历整个Map集合 System.out.println("key = " + key + ",value = " + value); //key = 1,value = zhangsan //key = 3,value = wangwu //key = 4,value = zhaoliu } //foreach也可以通过KeySet方法来遍历整个Map集合 for (Integer s : set) { System.out.println("key = " + s + ",value = " + map.get(s)); } System.out.println("=============================="); Collection values() 获取Map集合中所有的value,返回一个Collection集合 //Collection<V> values() 获取Map集合中所有的value,返回一个Collection集合 Collection<String> collection = map.values(); for (String str : collection) { System.out.println(str); //zhangsan wangwu zhaoliu } Set<Map.Entry<K,V>> entrySet() 将Map集合转换成Set集合 Map.Entry为Map类的静态内部类 //Set<Map.Entry<K,V>> entrySet() 将Map集合转换成Set集合 Set<Map.Entry<Integer, String>> set1 = map.entrySet(); for (Map.Entry<Integer, String> node: set1) { System.out.println("key = " + node.getKey() + ",value = " + node.getValue()); //key = 1,value = zhangsan //key = 3,value = wangwu //key = 4,value = zhaoliu //通过entrySet()方法遍历效率更高,因为获取key和value都是从node对象中获取的属性值 } void clear() 清空Map集合 boolean isEmpty() 判断Map集合中元素个数是否为0 //清空集合 map.clear(); //判断Map集合中元素个数是否为0 System.out.println(map.isEmpty());//true
    Processed: 0.010, SQL: 9