Java 中的Map集合

Map

1.Map接口中常用的方法

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/*
java.util.Map接口中常用的方法:
Map和Collection没有继承关系
Map集合以key和value的方式存储数据:键值对
key和value都是引用数据类型
key和value都是存储对象的地址
key起主导的地位:value是key的附属品
Map接口中常用的方法:
    void clear()
    boolean containsKey(Object key)
    boolean containsValue(Object value)
    V get (object key) 通过key获取value
    V put(K key, V value);
    boolean isEmpty();
    Set<K> keySet();  获取Map集合中所有的key
    Set<Map.Entry<K, V>> entrySet();

* */
public class MapTest {
    public static void main(String[] args) {
        //创建Map集合对象
        Map<Integer, String> map = new HashMap<>();
        map.put(1,"a");
        map.put(2,"b");
        map.put(3,"c");
        map.put(4,"d");
        //通过key获取value
        System.out.println(map.get(1));
        //获取键值对的数量
        System.out.println(map.size());
        //通过key删除value
        map.remove(2);
        //判断是否包含某个value
        //contians方法底层调用的都是equals进行比对的,所以自定义的类型需要重写equals方法。
        System.out.println(map.containsValue("a")); //true
        //判断是否包含某个key
        System.out.println(map.containsKey(1)); //true
        //获取所有的value
        Collection<String > value = map.values();
        //清空map集合
        map.clear();
    }
}

2.Map集合的遍历

  • 第一种方法:获取所有的key,通过遍历key,遍历value

  • 第二种方式遍历 Set<Map.Entry<K, V>> entrySet();

    以上这个方法是把map集合直接全部转化成set集合
    Set集合中元素类型是:Map.Entry
    Set<Map.Entry<Integer,String>> set = map.entrySet();
    遍历Set集合,每次取出来一个node

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
* Map集合的遍历
* */
public class MapTest02 {
    public static void main(String[] args) {
        //获取所有的key,通过遍历key,遍历value
        Map<Integer,String> map = new HashMap<>();
        map.put(1,"a");
        map.put(2,"b");
        map.put(3,"c");
        map.put(4,"d");

        //遍历 ,先获取所有的value
        Set<Integer> keys = map.keySet();
        Iterator<Integer> it = keys.iterator();
        while(it.hasNext()){
            Integer key = it.next();
            String value = map.get(key);
            System.out.println(key + "=" + value);
        }
        //foreach也可以
        for (Integer key : keys) {
            System.out.println(key + "=" + map.get(key));

        }
        //第二种方式遍历 Set<Map.Entry<K, V>> entrySet();
        //以上这个方法是把map集合直接全部转化成set集合
        //Set集合中元素类型是:Map.Entry
        Set<Map.Entry<Integer,String>> set = map.entrySet();
        //遍历Set集合,每次取出来一个node
        //迭代器
        Iterator<Map.Entry<Integer,String >> itt = set.iterator();
        while(itt.hasNext()){
            Map.Entry<Integer,String > node = itt.next();
            Integer key = node.getKey();
            String value = node.getValue();
            System.out.println(key + "=" + value);
        }
    }
}
posted @   十几里路  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示