|
@@ -0,0 +1,144 @@
|
|
|
+package com.lc.day16.map01;
|
|
|
+
|
|
|
+import jdk.swing.interop.SwingInterOpUtils;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+/**
|
|
|
+ * ClassName: TestMap01
|
|
|
+ *
|
|
|
+ * @Author 爱扣钉-陈晨
|
|
|
+ * @Create 2024/1/12 9:42
|
|
|
+ * @Version 1.0
|
|
|
+ */
|
|
|
+public class TestMap01 {
|
|
|
+ public static void main(String[] args) {
|
|
|
+
|
|
|
+ /*
|
|
|
+ - **添加、修改操作:**
|
|
|
+ - Object put(Object key,Object value):将指定key-value添加到(或修改)当前map对象中
|
|
|
+ - void putAll(Map m):将m中的所有key-value对存放到当前map中
|
|
|
+ - **删除操作:**
|
|
|
+ - Object remove(Object key):移除指定key的key-value对,并返回value
|
|
|
+ - void clear():清空当前map中的所有数据
|
|
|
+ - **元素查询的操作:**
|
|
|
+ - Object get(Object key):获取指定key对应的value
|
|
|
+ - boolean containsKey(Object key):是否包含指定的key
|
|
|
+ - boolean containsValue(Object value):是否包含指定的value
|
|
|
+ - int size():返回map中key-value对的个数
|
|
|
+ - boolean isEmpty():判断当前map是否为空
|
|
|
+ - boolean equals(Object obj):判断当前map和参数对象obj是否相等
|
|
|
+ - **元视图操作的方法:**
|
|
|
+ - Set keySet():返回所有key构成的Set集合
|
|
|
+ - Collection values():返回所有value构成的Collection集合
|
|
|
+ - Set entrySet():返回所有key-value对构成的Set集合
|
|
|
+ */
|
|
|
+
|
|
|
+ //map
|
|
|
+ Map<Object,String> map = new HashMap<>();
|
|
|
+
|
|
|
+ map.put(1,"kunkun");
|
|
|
+ map.put(2,"ff");
|
|
|
+ map.put(3,"ff");
|
|
|
+ map.put(3,"llei"); //key 重复 替换 value 覆盖
|
|
|
+ map.put(4,null);
|
|
|
+ map.put(null,null);
|
|
|
+
|
|
|
+ System.out.println(map);
|
|
|
+
|
|
|
+
|
|
|
+ //putAll
|
|
|
+
|
|
|
+
|
|
|
+ Map<Object,String> map1 = new HashMap<>();
|
|
|
+ map1.put(1,"zs");
|
|
|
+ map1.put(2,"hmm");
|
|
|
+ Map<Object,String> map2 = new HashMap<>(map1);
|
|
|
+ map2.put(3,"zl");
|
|
|
+ map2.put(4,"zl");
|
|
|
+
|
|
|
+ //map1.putAll(map2);
|
|
|
+ // System.out.println(map1);
|
|
|
+ System.out.println(map2);
|
|
|
+
|
|
|
+ String remove = map2.remove(1);
|
|
|
+ System.out.println(remove);
|
|
|
+
|
|
|
+ //System.out.println(map2);
|
|
|
+ //map2.clear();
|
|
|
+ System.out.println(map2);
|
|
|
+
|
|
|
+ //get
|
|
|
+ String s = map2.get(2);
|
|
|
+ System.out.println(s);
|
|
|
+ System.out.println(map2);
|
|
|
+
|
|
|
+ boolean b = map2.containsKey(7);
|
|
|
+ System.out.println(b);
|
|
|
+ //containsValue
|
|
|
+ boolean b1 = map2.containsValue("zl");
|
|
|
+ System.out.println(b1);
|
|
|
+
|
|
|
+ //size
|
|
|
+ int size = map2.size();
|
|
|
+ System.out.println(size);
|
|
|
+
|
|
|
+ //empty
|
|
|
+ boolean empty = map2.isEmpty();
|
|
|
+ System.out.println(empty);
|
|
|
+
|
|
|
+
|
|
|
+ Map<Integer,Person> map3 = new HashMap<>();
|
|
|
+
|
|
|
+ map3.put(1,new Person("韩梅梅"));
|
|
|
+ map3.put(2,new Person("李雷"));
|
|
|
+ map3.put(3,new Person("小明"));
|
|
|
+ map3.put(4,new Person("小红"));
|
|
|
+
|
|
|
+ //根据key获取value
|
|
|
+
|
|
|
+ //keySet
|
|
|
+ for (Integer i : map3.keySet()) {
|
|
|
+ Person person = map3.get(i);
|
|
|
+
|
|
|
+ System.out.println("key:"+i + "---value:"+ person);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //entrySet
|
|
|
+ for (Map.Entry<Integer, Person> entry : map3.entrySet()) {
|
|
|
+ System.out.println(entry.getKey() +"---"+ entry.getValue());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //班级名称 班级 多个人 List
|
|
|
+
|
|
|
+ Map<String, List<Person>> classs = new HashMap<>();
|
|
|
+
|
|
|
+ List<Person> list = new ArrayList<>();
|
|
|
+ list.add(new Person("hmm1"));
|
|
|
+ list.add(new Person("hmm2"));
|
|
|
+ list.add(new Person("hmm3"));
|
|
|
+ list.add(new Person("hmm4"));
|
|
|
+
|
|
|
+ classs.put("java",list);
|
|
|
+
|
|
|
+ List<Person> java = classs.get("java");
|
|
|
+
|
|
|
+ for (Person person : java) {
|
|
|
+ System.out.println(person);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //key
|
|
|
+ Map<Person,String> map4 = new HashMap<>();
|
|
|
+ map4.put(new Person("1"),"1");
|
|
|
+ map4.put(new Person("1"),"1");
|
|
|
+ map4.put(new Person("1"),"1");
|
|
|
+ map4.put(new Person("1"),"1");
|
|
|
+
|
|
|
+ System.out.println(map4.size()); // 没有重写 存的是 地址。
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|