java集合框架----Map接口

今天学了一下集合框架中的Map接口,只能说是浅尝辄止,总结了几个用法,可能很多人和我一样,刚接触的时候满头雾水,希望这篇文章能给你带来一点收获。

简单来说:Map有Key和Value,而Key和Value组合起来一个组就是entry,如果想取出这个组里的Key和Value就用entry的迭代器即可。

那么什么是迭代器呢?

Java集合框架的集合类,大家通常会称之为容器,包括ArrayList、LinkedList、HashSet...每个容器都有自己的特点,ArrayList底层维护的是一个数组,HashSet依赖的是哈希表,每种容器都有自己特有的数据结构,因为容器的内部结构不同,很多时候可能不知道该怎么去遍历一个容器中的元素,所以为了使对容器内元素的操作更为简单,java引入了迭代器模式!

把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结构。

对于一个数组我们就是通过索引即index进行处理的,例如

 
 
1 int array[] = new int[5];    
2 for (int i = 0; i < array.length; i++) {
3     System.out.println(array[i]);
4 }

所以,我们可以理解迭代器就是通过遍历来抽取集合中你想要的东西,它总是用同一种逻辑来遍历集合,使得客户端自身不需要来维护集合的内部结构,所有的内部状态都由Iterator(迭代器)来维护,客户端不用直接和集合进行打交道,而是控制Iterator向它发送向前向后的指令,就可以遍历集合。

言归正传,Map类中提供了一个entrySet()方法,这个方法返回了一个Map.Entry实例化后的对象集,然后Map.Entry类提供了一个getKey()方法和一个getValue()方法。

今天就先介绍3种比较常用的方法:

map.values();获取value集合
map.keySet();获取Key集合,并通过Key获取对应的Value值
map.entrySet();获取键值对列表
下面我们来看一下如何实现的:
package EntrySet;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

public class entry {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	Map<String, String> map = new HashMap<>();
	map.put("a", "1");  //向集合中插入元素
	map.put("b", "2");
	for(Entry<String, String> s:map.entrySet()){
		System.out.println("键值对 " +s);
	}for(String s: map.values()){
		System.out.println(" values集合 " + s);//取出所有的value值
	}for(String s:map.keySet()){
		System.out.println("Key集合" + s); //取出所有的Key值
		System.out.println(map.get(s));   //取出所有的Key对应的Value值
	}	
	}
}
如果大家还不了解的话可以打断点Debug一下,看看数据是如何变化的,会加深我们的理解。希望对大家有帮助,谢谢


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值