java.util.Map接口
  1. Map和Collection没有继承关系
  2. Map集合以key和value的方式存储数据,键值对,key和value都是引用数据类型,key和value存储的都是对象的内存地址,key起主导作用,value是key的一个附属品
Map接口中常用方法
import java.util.HashMap;
import java.util.Map;

public class MapTest {
    public static void main(String[] args) {
        // 创建Map集合对象
        Map<Integer,String> map = new HashMap<>();
        // 向Map集合中添加键值对
        map.put(1,"eYuJun");//1在这里进行了自动装箱
        map.put(2,"LaoLiu");
        map.put(3,"LiuDa");
        // 通过key获取value
        String value1 = map.get(1);
        System.out.println(value1);//eYuJun
        // 获取键值对的数量
        System.out.println("键值对的数量:" + map.size());//3
        // 通过key删除key-value
        map.remove(1);
        System.out.println("键值对的数量:" + map.size());//2
        System.out.println("=============");
        // contains方法底层调用的是equals方法比对的,所以自定义的类型需要重写equals方法
        // 判断是否包含某个key
        System.out.println(map.containsKey(1));//false
        // 判断是否包含某个value
        System.out.println(map.containsValue("LiuDa"));//true

    }
}
import java.util.HashMap;
import java.util.Map;

public class MapTest {
    public static void main(String[] args) {
        // 创建Map集合对象
        Map<Integer,String> map = new HashMap<>();
        // 向Map集合中添加键值对
        map.put(1,"eYuJun");//1在这里进行了自动装箱
        map.put(2,"LaoLiu");
        map.put(3,"LiuDa");
        // 清空集合
        map.clear();
        System.out.println("键值对的数量:" + map.size());//0
        System.out.println(map.isEmpty());//true
    }
}
遍历Map集合:
import java.util.*;

public class MapTest {
    public static void main(String[] args) {
        // 创建Map集合对象
        Map<Integer,String> map = new HashMap<>();
        // 向Map集合中添加键值对
        map.put(1,"eYuJun");//1在这里进行了自动装箱
        map.put(2,"LaoLiu");
        map.put(3,"LiuDa");
        // 获取所有的key
        Set<Integer> keys = map.keySet();
        // 遍历keys
        System.out.println("======通过迭代器遍历所有的key=====");
        Iterator<Integer> iterator = keys.iterator();
        while (iterator.hasNext()){
            Integer key = iterator.next();
            System.out.println( key + "=" + map.get(key) );
        }
        System.out.println("=====foreach遍历所有的key======");
        for (Integer key: keys) {
            System.out.println( key + "=" + map.get(key) );
        }
        System.out.println("==========");
        // 获取所有的values
        Collection<String> values = map.values();
        for (String s: values) {
            System.out.println(s);
        }
    }
}
import java.util.*;

public class MapTest {
    public static void main(String[] args) {
        // 创建Map集合对象
        Map<Integer, String> map = new HashMap<>();
        // 向Map集合中添加键值对
        map.put(1, "eYuJun");//1在这里进行了自动装箱
        map.put(2, "LaoLiu");
        map.put(3, "LiuDa");
        Set<Map.Entry<Integer, String>> set = map.entrySet();
        // 遍历set集合,每一次取出一个Node
        Iterator<Map.Entry<Integer, String>> iterator = set.iterator();
        while (iterator.hasNext()) {
            Map.Entry<Integer, String> entry = iterator.next();
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(entry);
        }
        System.out.println("=====增强for循环遍历");
        // 增强for循环
        for (Map.Entry<Integer, String> entry : set) {
            System.out.println(entry);
        }

    }
}

发表评论

后才能评论