黑马程序员-----Map双列集合

------- android培训java培训、期待与您交流! ----------

1.Map集合比较特殊,因为它是双列存储集合,一列是键,一列是值

2.特点:键是唯一的,并且只映射到一个值,所以说键值一一对应

3.Map和Collection的区别?
A:Map 存储的是键值对形式的元素,键唯一,值可以重复。
B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。

a:添加功能
 V put(K key,V value):添加元素。
 如果键是第一次存储,就直接存储元素,返回 null
 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
 b:删除功能
 void clear():移除所有的键值对元素
V remove(Object key):根据键删除键值对元素,并把值返回
 c:判断功能
 boolean containsKey(Object key):判断集合是否包含指定的键
 boolean containsValue(Object value):判断集合是否包含指定的值
 boolean isEmpty():判断集合是否为空
d:获取功能
 Set<Map.Entry<K,V>> entrySet():???

 V get(Object key):根据键获取值
 
 Set<K> keySet():获取集合中所有键的集合
 Collection<V> values():获取集合中所有值的集合
 e:长度功能
 int size():返回集合中的键值对的个数

4.代码


import java.util.HashMap;
/*
 	使用EntrySet 遍历  HashMap
    EntrySet    : 键和值 关系的 集合.
    
    
     K getKey()  返回与此entry对应的键。 
 	 V getValue()返回与此entry对应的值。 

     
 */
public class MapDemo2 {
	public static void main(String[] args) {
		
		HashMap<Integer,String> hm = new HashMap<Integer , String>();
		hm.put(1, "李大妈");   //保存元素   
		hm.put(2, "范冰冰");
		hm.put(3, "熊黛林");
		hm.put(4, "王丽坤");  
		hm.put(5, "罗玉凤");
		
		System.out.println(hm);
		
		//通过 entrySet 遍历  
		Set<Entry<Integer,String>> entrySet = hm.entrySet();
		for (Entry<Integer, String> entry : entrySet) {
			//System.out.println(entry.getKey() +"---"+ entry.getValue());// 推荐 
			if (entry.getKey()==1) {
				entry.setValue("孙俪");
			}
			System.out.println(entry.getKey() +"---"+ entry.getValue());// 推荐 
		}
			
	}
}

总结

当操作的数据具有键值对应关系时,使用Map集合是不错的,可以减少我们的工作量。

增强for循环对于Map集合来说高效快速,但是有个缺点,就是遍历时不能删除其中的元素,而迭代器itrator可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值