Map 接口学习

Map介绍

  • 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
  • 此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口。
  • Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。
  • 映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。
  • 某些映射实现可明确保证其顺序,如 TreeMap 类;
  • 另一些映射实现则不保证顺序,如 HashMap 类。
  • 定义:public interface Map<K,V>

Map 接口中的所有方法

void clear() // 从此映射中移除所有映射关系(可选操作)。 
boolean containsKey(Object key) // 如果此映射包含指定键的映射关系,则返回 true。 
boolean containsValue(Object value) // 如果此映射将一个或多个键映射到指定值,则返回 true。 
Set<Map.Entry<K,V>> entrySet() // 返回此映射中包含的映射关系的 Set 视图。 
boolean equals(Object o) // 比较指定的对象与此映射是否相等。 
V get(Object key) // 返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。 
int hashCode() // 返回此映射的哈希码值。 
boolean isEmpty() // 如果此映射未包含键-值映射关系,则返回 true。 
Set<K> keySet() // 返回此映射中包含的键的 Set 视图。 
V put(K key, V value) // 将指定的值与此映射中的指定键关联(可选操作)。 
void putAll(Map<? extends K,? extends V> m) // 从指定映射中将所有映射关系复制到此映射中(可选操作)。 
V remove(Object key) // 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。 
int size() // 返回此映射中的键-值映射关系数。 
Collection<V> values() // 返回此映射中包含的值的 Collection 视图。 

Map 接口中的方法使用样例 

public static void main(String[] args) {
	Map<String, String> map = new HashMap<>();
	map.put("zhangsan", "name-001");
	map.put("lisi", "name-002");
	map.put("wangwu", "name-003");
	map.put("zhaoliu", "name-004");
	
	System.out.println(map.get("lisi"));	// 获取指定键的值, 键不存在返回 null
	System.out.println(map.containsKey("wangwu"));	// 检查是否存在指定键
	System.out.println(map.containsValue("name-004"));	// 检查是否存在指定值
	
	
	System.out.println("map.size() before remove() : " + map.size());
	// remove()方法会删除指定的键值对,并返回该值; 若不存在指定键,返回 null;
	System.out.println("after remove() : " + map.remove("lisi"));
	System.out.println("map.size() after remove() : " + map.size());
	
	// 将所有内容输出: 获取EntrySet方式
	Set<Entry<String, String>> entrySet = map.entrySet();
	for (Iterator<Map.Entry<String, String>> iterator = entrySet.iterator(); iterator.hasNext();) {
		Entry<String, String> entry = (Entry<String, String>) iterator.next();
		System.out.println(entry.getKey() + ":::" + entry.getValue());
	}
	// 将所有内容输出: 获取keySet方式
	Set<String> keySet = map.keySet(); // 返回所有的键的集合
	for (Iterator<String> iterator = keySet.iterator(); iterator.hasNext();) {
		String value = iterator.next();
		System.out.println(value);
	}
	
	// 返回所有的值得集合
	Collection<String> values = map.values();
	System.out.println(values);
}

 

Map 接口的实现类

Map<K, V>
	|--HashMap
	|--Hashtable
	|--TreeMap

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值