Map集合
-
Map集合的特点都是由键决定的
-
Map集合的键是无序,不重复,无索引的
代码演示
package com.tian.test;
import java.util.HashMap;
import java.util.Map;
public class Test8 {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("张三", 2);
map.put("张三", 1);
map.put("李四", 2);
map.put("王五", 2);
map.put("张三", 2);
map.put(null, null);
System.out.println(map);//{null=null, 李四=2, 张三=2, 王五=2}
}
}
Map集合的API(重点)
代码演示
package com.tian.test;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Test8 {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("张三", 2);
map.put("张三", 1);
map.put("李四", 4);
map.put("王五", 5);
map.put("张三", 3);
map.put(null, null);
System.out.println(map);//{null=null, 李四=4, 张三=3, 王五=5}
//1.清空集合
/* map.clear();
System.out.println(map);
//2.判断集合是否为空
System.out.println(map.isEmpty()); */
//3.根据键获取值
Integer value=map.get("张三");
System.out.println(value);//3
//4.根据键删除整个元素(删除键会返回键的值)
map.remove("李四");
System.out.println(map);//{null=null, 张三=3, 王五=5}
//5.判断是否包含某个键,包含返回true,反之
System.out.println(map.containsKey("王五"));//true
System.out.println(map.containsKey("xixihaha"));//false
//6.判断是否包含某个值
System.out.println(map.containsValue(10));//false
System.out.println(map.containsValue(5));//true
//7.获取全部键的集合
//Map集合的键是无序不重复的,所以返回的是一个set集合
Set<String> keys=map.keySet();
for(String key:keys) {
System.out.println(key);
/**
* null 张三 王五
*/
}
//8.获取全部值的集合
Collection<Integer> values=map.values();
for(Integer value1:values) {
System.out.println(value1);//null 3 5
}
//9.集合的大小
System.out.println(map.size());//3
//10.合并其他集合
Map<String, Integer> map2=new HashMap<>();
map2.put("张三", 3);
map2.put("李六", 6);
map.putAll(map2);
System.out.println(map);//{null=null, 张三=3, 李六=6, 王五=5}
}
}