Map集合以key和value的形式存储数据,都是引用数据类型。
常用方法:
void clear();
boolean containsKey(Object Key);
boolean containsValue(Object Value);
.get(key);获取value
put(key,value);存入新键值对
boolean isEmpty();
keySet();获取所有键,返回一个Set集合
remove(Object key);删除键值对
size()获取键的个数
values();获取所有的value,返回一个Collections集合
Map.Entry是一个静态内部类。使用了泛型,表明该Set集合中只能存储Map.Entry类型
同样Map集合的contains的方法也是调用的equals方法进行比较,需要重写equals方法。
遍历方式,取出所有的key,然后拿value.
或者直接用entrySet方法把Map集合转换成Set,里面的类型都是Map.Entry。
如下:
package com.fan;
import java.util.*;
public class main {
public static void main(String[] args) {
Map eplayer=new HashMap();
eplayer.put(1,"String");
eplayer.clear();
eplayer.put(new Person("uzi",2000),"adc");
eplayer.put(new Person("clearlove",7),"sup");
eplayer.put(new Person("faker",1),"mid");
// 第一种遍历:把所有key转成一个Set,再遍历Set
if(!eplayer.isEmpty()){
Set s=eplayer.keySet();
for (Object p:s){
System.out.println(p+"="+eplayer.get(p));
}
}
// 第二种:直接把Map转换成Set<Map.Entry>的集合
if(!eplayer.isEmpty()){
Set s=eplayer.entrySet();
for (Object p:s){
System.out.println(p);
}
}
}
}
两种遍历打印结果相同: