Java map:
Map 接口中键和值一一映射. 可以通过键来获取值
map 的方法如下:
序号 | 方法描述 |
---|---|
1 | void clear( ) 从此映射中移除所有映射关系(可选操作)。 |
2 | boolean containsKey(Object k) 如果此映射包含指定键的映射关系,则返回 true。 |
3 | boolean containsValue(Object v) 如果此映射将一个或多个键映射到指定值,则返回 true。 |
4 | Set entrySet( ) 返回此映射中包含的映射关系的 Set 视图。 |
5 | boolean equals(Object obj) 比较指定的对象与此映射是否相等。 |
6 | Object get(Object k) 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。 |
7 | int hashCode( ) 返回此映射的哈希码值。 |
8 | boolean isEmpty( ) 如果此映射未包含键-值映射关系,则返回 true。 |
9 | Set keySet( ) 返回此映射中包含的键的 Set 视图。 |
10 | Object put(Object k, Object v) 将指定的值与此映射中的指定键关联(可选操作)。 |
11 | void putAll(Map m) 从指定映射中将所有映射关系复制到此映射中(可选操作)。 |
12 | Object remove(Object k) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。 |
13 | int size( ) 返回此映射中的键-值映射关系数。 |
14 | Collection values( ) 返回此映射中包含的值的 Collection 视图。 |
知识点练习:
Map<String, String> mapName = new HashMap<>();
mapName.put("张三", "18");
mapName.put("李四", "17");
mapName.put("王二", "16");
// 返回整个map
Log.d("-----mapName", String.valueOf(mapName));
// 返回整个map
Log.d("-----keySet", String.valueOf(mapName.entrySet()));
// 返回map的key
Log.d("-----key", String.valueOf(mapName.keySet()));
// 返回map的value
Log.d("-----name", String.valueOf(mapName.values()));
// 返回map的数量
Log.d("-----size", String.valueOf(mapName.size()));
if (mapName.containsKey("张三")) {
Log.d("----", "张三在map的key中");
} else {
Log.d("----", "张三不在map的key中");
}
if (mapName.containsValue("17")) {
Log.d("----", "17在map的value中");
} else {
Log.d("----", "17不在map的value中");
}
// 判断map是否为空
if (mapName.isEmpty()) {
Log.d("----", "mapName为空");
} else {
Log.d("----", "mapName不为空");
}
// 清空map
mapName.clear();
// enterset:返回此映射中包含的键的 Set 视图
for (Map.Entry<String, String> entry : mapName.entrySet()) {
Log.d("for遍历出的值", "key=" + entry.getKey() + ",value=" + entry.getValue());
}
// 使用Iterator遍历
Iterator<Map.Entry<String, String>> it = mapName.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
Log.d("Iterator遍历出的值", "key=" + entry.getKey() + ",value=" + entry.getValue());
}
// 遍历key中的值
for (String key : mapName.keySet()) {
Log.d("单独遍历key", key);
}
// 遍历map中的值
for (String value : mapName.values()) {
Log.d("单独遍历value", value);
}