Java集合——Map接口
1. Map接口特性
- Map接口的数据是以 键值对( key-value ) 的形式存储的,可以通过键来获取值。
- 键(Key) 不能重复。
- Map接口的实现类包括:HashMap、TreeMap、HashTable、Properties等。
2. Map 方法
方法 | 描述 |
---|
void clear( ) | 从此映射中移除所有映射关系(可选操作)。 |
boolean containsKey(Object k) | 如果此映射包含指定键的映射关系,则返回 true。 |
boolean containsValue(Object v) | 如果此映射将一个或多个键映射到指定值,则返回 true。 |
Set entrySet( ) | 返回此映射中包含的映射关系的 Set 视图。 |
boolean equals(Object obj) | 比较指定的对象与此映射是否相等。 |
Object get(Object k) | 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。 |
int hashCode( ) | 返回此映射的哈希码值。 |
boolean isEmpty( ) | 如果此映射未包含键-值映射关系,则返回 true。 |
Set keySet( ) | 返回此映射中包含的键的 Set 视图。 |
Object put(Object k, Object v) | 将指定的值与此映射中的指定键关联(可选操作)。 |
void putAll(Map m) | 从指定映射中将所有映射关系复制到此映射中(可选操作)。 |
Object remove(Object k) | 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。 |
int size( ) | 返回此映射中的键-值映射关系数。 |
Collection values( ) | 返回此映射中包含的值的 Collection 视图。 |
3. Map方法基本使用
import java.util.Map;
import java.util.HashMap;
public class MapTest {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
Map<Integer, String> map2 = new HashMap<>();
map.put(1,"ANO");
map.put(2,"JAY");
map.put(3,"JACKSON");
map.put(2,"BABE");
System.out.println(map.size());
System.out.println(map);
System.out.println(map.get(1));
System.out.println(map.get(2));
System.out.println(map.isEmpty());
System.out.println(map.containsKey(2));
System.out.println(map.containsValue("ANO"));
map2.putAll(map);
map2.put(4,"JAY");
System.out.println(map2);
map2.clear();
System.out.println(map2);
Map<String, Student> mapStu = new HashMap<>();
mapStu.put("1001", new Student(17,"Song"));
mapStu.put("1002", new Student(19,"Li"));
mapStu.put("1003", new Student(16,"Zhou"));
System.out.println(mapStu);
}
}
class Student{
private int age;
private String name;
public Student(){}
public Student(int age, String name){
super();
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "AGE:" + this.age + " ->NAME:" + this.name ;
}
}