16.Map集合
通过一个点可以找到一个具体的位置 映射,map集合也是存数据的
双边队列是一个接口:Interface Map<K,V>
k: key 键
v: value 值
增: 1.V put(K key, V vlaue);添加键值对的数据到map集合中 // package com.homework; import java.util.HashMap; import java.util.Map; public class Demo7 { public static void main(String[] args) { Map <Integer , String> map = new HashMap<>(); //重复的被后面覆盖 map.put(1 , "小"); map.put(2 , "标"); map.put(2 , "小x标"); map.put(8 , "小a标"); map.put(3 , "小v标"); map.put(7 , "小g标"); System.out.println(map); } } 2.void putAll(Map<? extends K> k, Map<? extends V> v);将一个map集合存放到另外一个map集合中 package com.homework; import java.util.HashMap; import java.util.Map; public class Demo7 { public static void main(String[] args) { Map <Integer , String> map = new HashMap<>(); //重复的被后面覆盖 map.put(1 , "小"); map.put(2 , "标"); map.put(2 , "小x标"); map.put(8 , "小a标"); map.put(3 , "小v标"); map.put(7 , "小g标"); Map <Integer , String> map1 = new HashMap<>(); //重复的被后面覆盖 map1.put(9 , "小"); map1.put(52 , "标"); map1.put(36 , "小x标"); map1.put(5 , "小a标"); map1.put(3 , "小v标"); map1.put(6 , "小g标"); map.putAll(map1); System.out.println(map); } } 删: 3.V remove (K key);通过键删除键值对的数据,返回值是值 System.out.println(map.remove(1)); 改: 4.V put(K key V value);当键值存在的时候,会将value值覆盖掉的 查: 5.int size(); 查看集合中元素的个数 System.out.println(map.size()); 6.boolean isEmpty();判断是否为空,如果不为空返回的是false System.out.println(map.isEmpty()); 7.boolean containsKey();是否包含这个键 System.out.println(map.containsKey(2)); 8.boolean containsValue();是否包含这个值 System.out.println(map.containsValue("小")); 重要的方法: 9.V get(K key);通过键获取值 System.out.println(map.get(6)); 10.Set<K> keySet();获取map集合中的键,然后存到set集合中 System.out.println(map.keySet()); [1, 2, 3, 52, 36, 5, 6, 7, 8, 9] 11.Collection<V> values(); 获取map集合中值,存到了Collection集合中 System.out.println(map.values()); [小, 小x标, 小v标, 标, 小x标, 小a标, 小g标, 小g标, 小a标, 小] 12.Set<Map.Entry<K,V>> entrySet();将map集合的键值对,存到了set集合 Set<Map.Entry<Integer, String>> entries = map.entrySet(); 增强for循环: for (Map.Entry<Integer, String> entry : entries) { System.out.println(entry.getKey()); System.out.println(entry.getValues()); } 13.Map.Entry这个接口的方法.var 14.getKey:返回键值对的键 15.getValue:返回键值对的值
package com.homework; import java.util.HashMap; import java.util.Map; class Bai { String name; int age; public Bai(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Bai{" + "name='" + name + '\'' + ", age=" + age + '}'; } } public class Demo8 { public static void main(String[] args) { Map<Integer , Bai> map = new HashMap<>(); map.put(1 , new Bai("小标" , 18)); map.put(3 , new Bai("标" , 12)); map.put(1 , new Bai("小" , 120)); map.put(7 , new Bai("小x标" , 108)); System.out.println(map); } } ************List存*********** package com.homework; import java.util.*; class Ya { String name; int age; public Ya(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Bai{" + "name='" + name + '\'' + ", age=" + age + '}'; } } public class Demo9 { public static void main(String[] args) { List<Ya> list = new ArrayList<>(); list.add(new Ya("小白" , 18)); list.add(new Ya("小" , 20)); list.add(new Ya("白" , 180)); list.add(new Ya("小x白" , 108)); List<Ya> list1 = new ArrayList<>(); list1.add(new Ya("小x白" , 185)); list1.add(new Ya("小x" , 200)); list1.add(new Ya("白c" , 1800)); list1.add(new Ya("小ax白" , 10800)); //存值 Map<Integer , List<Ya>> map = new HashMap<>(); map.put(6 , list); map.put(3 , list1); System.out.println(map); //取键 Set<Integer> key = map.keySet(); System.out.println(key); //取值1 Collection<List<Ya>> values = map.values(); for (List<Ya> value : values) { for (Ya ya : value) { System.out.println(ya.name); } } //取值2 // Set<Map.Entry<Integer, List<Ya>>> entries = map.entrySet(); // for (Map.Entry<Integer, List<Ya>> entry : entries) { // System.out.println(entry.getValue()); // } } }
浙公网安备 33010602011771号