Map接口 映射 没有顺序
-|HashMap 管理键值对
-|ConcurrentMap 线程安全
-|LinkedHashMap
key:键
value:值
MyClass.java
class Person{
int age;
int score;
String name;
public Person (int age, int score, String name) {
this.age = age;
this.score = score;
this.name = name;
}
@Override
public String toString() {
return "Person" +
"age=" + age +;
}
}
public class MyClass {
public static void main(String[] agrs) {
Map<String, Person> map = new HashMap<>();
//添加一个键值对
map.put(k: "jack", new Person(age: 30, score: 98, name: "jack"));
map.put(k: "merry", new Person(age: 32, score: 62, name: "merry"));
//获取键值对的个数
System.out.println(map.size());
//是否包含某一个key
System.out.println(map.containsKey(o: "jack232"));//false
//判断是否包含某个value
System.out.println(map.containsValue(person));
//获取某个key对应的value
Person p = map.get("jack");
System.out.println("jack:"+p);//jack:person{age=30, score=98, name='jack'}
//删除某个键值对
map.remove(o: "jack");
//替换某个键值对
map.replace(k: "jack", new Person(age: 32, score: 32, name: "张三"));
System.out.println(map);//jack=Person{age=32, score=32, name='张三'}
//清空
map.claer();
//map遍历
Set<Map.Entry<String, Person>> entries = map.entrySet();
for (Map.Entry<String, Person> entry: entries){
System.out.println("key:"+entry.getKey()+" value:"+entry.getValue());
}
}