Java----映射 map

Java类库用映射提供了两个通用的实现:HashMap 和 TreeMap。这两个类都实现了Map接口。

java.util.Map<K, V>  1.2

V get(Object key)
	- 获取与键关联的值;返回与键关联的对象,或者如果映射中没有这个对象,则返回nulldefault V getOrdefault(Object key, V defaultValue)  
	- 获取与键关联的值;返回与键关联的对象,或者如果未在映射中没找到这个键,则返回defaultValue。

V put(K key, V value) 
	- 将关联的一对"键和值"放到映射中。如果之前没有这个键,则返回 null- 如果"键"已经存在,新的对象将取代"与这个键关联的旧对象"。这个方法将返回"键关联的旧值"- 实现类可以禁止"键或值"nullvoid putAll(Map<? extends K, ? extends V> entries)
	- 将给定映射中的"所有映射条目"添加到这个映射中。

boolean containsKey(Object key)
	- 如果在映射中已经有这个"键",则返回trueboolean containsValue(Object value)
	- 如果在映射中已经有这个"值",则返回truedefault void forEach(BiConsumer<? super K, ? super V> action)   Java 8 
	- 对这个映射中的所有 "键/值对" 应用这个动作。

//《Java核心技术 卷I》 11版 p396

实战栗子:

for (...) {
	if (deque.size() == 0) {  // 这两步用的好
		if (!map.containsKey(sum)) {  // 判断不同方案人数,以第一个出现的方案为准(所以需要判断)
			map.put(sum, i);  // 求:最小下标值,所以 i 作为value值, map.get(sum)
			sum = 0;
			break;
		}
	break;
}

// 求map的最小值 map.get(key),因此必须先得到key的最小值,直接遍历就可,用不着对map排序
int minVal = Integer.MAX_VALUE;
for (Map.Entry<Integer, Integer> e : map.entrySet()) {  //没有必要使用 entrySet()
	minVal = Math.min(minVal, e.getKey());
}
return map.get(minVal);
int min =Integer.MAX_VALUE;
for (Integer a : hashMap.keySet()) {
	min = Math.min(min, a);
}  
return hashMap.get(min);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值