-
Map 和Collection没有继承关系
-
Map集合用key和value存储数据,key和calue都是引用数据类型,存储的都是数据的内存地址。其中key其主导作用,value只是key的附属品
-
V put(K key, K value) 添加键值对
-
void clear() 清空map
-
boolean containsKey(Object key) 判断map中是否包含某个 key
-
boolean containsValue(Object value) 判断map中是否包含某个 value
-
V get(Object key) 通过key获取vaue
-
boolean isEmpty() 判断集合中个数是否为0
-
Set keySet() 获取map集合所有的key
-
V remove(Object key) 通过key删除键值对
-
int size() 获取map中所有键值对个数
-
Collections values() 获取map集合所有的value
-
Set<Map.Entry<K,V>> entrySet() 将map集合转换成Set集合
-
假设有一个map对象:
-
key | value
-
1 | zhangsan
-
2 | lisi
-
3 | wangwu
-
4 | zhaoliu
-
Set set = map.entrySet()
-
set对象:
-
1=zhangsan
-
2=lisi
-
3=wangwu
-
4=zhaoliu
-
-
注意:Map集合通过entrySet集合转换成的Set集合,Set集合元素的类型是Map.Entry<K,V>
- Map.Entry是Map中的静态内部类,即类内部的私有类
-
package collection;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class MapTest01 {
public static void main(String[] args) {
//创建Map集合对象
Map<Integer,String> map = new HashMap<>();
//向Map集合添加对象
map.put(1,"11"); //1在这里进行了自动装箱
map.put(2,"22");
map.put(3,"33");
map.put(4,"44");
map.put(5,"55");
//通过key获取value
String value = map.get(2);
System.out.println(value); //22
//获取键值对的数量
System.out.println("键值对的数量是:" + map.size()); //5
//通过key删除键值对
map.remove(2);
System.out.println("键值对的数量是:" + map.size()); //4
//contains方法底层调用的都是equals方法,所以自定义的类型需要重写equals方法
//判断是否包含某个key
System.out.println(map.containsKey(4)); //true
//判断是否包含某个value
System.out.println(map.containsValue("55")); //true
//获取所有values
Collection<String> values = map.values();
for (String s : values){
System.out.println(s);
}//11 33 44 55
//清空map集合
map.clear();
System.out.println(map.size()); //0
//判断是否为空
System.out.println(map.isEmpty()); // true
}
}