java hashmap 获取_java程序(一)----HashMap同时获取键值

快速会用:

HashMap maps=new HashMap();

maps.put(1,"xiaomao");

maps.put(2,"xiaogou");

maps.put(3,"xiaohua");

Set> entrySet=maps.entrySet();

for(Map.Entry entry: entrySet){

System.out.println(entry.getKey() + ".........." + entry.getValue());

}

今天看Think in java 的GUI这一章的时候,里面的TextArea这个例子在遍历Map时用到了Map.Entry 和 Map.entrySet() ,记得只见过Map.KeySet()和values()这两个方法,于是到API中一看,Map.entrySet() 这个方法返回的是一个Set>,Map.Entry 是一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set>表示一个映射项的Set。

Map.Entry里有相应的getKey和getValue方法,让我们能够从一个项中取出Key和Value。这样就能理解了例子中的写法了。

for(Map.Entry me : m.entrySet()) {

t.append(me.getKey() + ": " + me.getValue() + "/n");

}

这里的t是一个TextArea,m是一个HashMap。

这种遍历Map的方法可以让我们在从Map中取得关键字之后,我们不用每次重复返回到Map中取得相对的值。

如下面是以前的写法:每次都要再从m中读出s所对应的值。

Set keys = m.keySet( );

if(keys != null)

for(String s : keys)

t.append(s + ": " + m.get(s) + "/n");

又一例子:

1.package edu.smc.test;

2.

3.import java.util.HashMap;

4.import java.util.Iterator;

5.import java.util.Map;

6.import java.util.Map.Entry;

7.

8.public class TestEntrySet {

9. public static void main(String[] args) {

10. Map map=new HashMap();

11. map.put("1", "张三");

12. map.put("2", "李四");

13. map.put("3", "王五");

14.

15. System.out.println("方法一:");

16. Iterator iterator=map.entrySet().iterator();

17. while(iterator.hasNext()){

18. Map.Entry entry= (Entry) iterator.next();

19. System.out.println("key:"+entry.getKey()+" value"+entry.getValue());

20. }

21.

22. System.out.println("方法二:");

23. for (Map.Entry m : map.entrySet()) {

24. System.out.println("key:"+m.getKey()+" value"+m.getValue());

25. }

26. }

27.}

package edu.smc.test;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

public class TestEntrySet {

public static void main(String[] args) {

Map map=new HashMap();

map.put("1", "张三");

map.put("2", "李四");

map.put("3", "王五");

System.out.println("方法一:");

Iterator iterator=map.entrySet().iterator();

while(iterator.hasNext()){

Map.Entry entry= (Entry) iterator.next();

System.out.println("key:"+entry.getKey()+" value"+entry.getValue());

}

System.out.println("方法二:");

for (Map.Entry m : map.entrySet()) {

System.out.println("key:"+m.getKey()+" value"+m.getValue());

}

}

}

结果:

[html] view plaincopyprint?

1.方法一:

2.key:3 value王五

3.key:2 value李四

4.key:1 value张三

5.方法二:

6.key:3 value王五

7.key:2 value李四

8.key:1 value张三

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值