分类: 算法与数据结构2011-10-19 10:53 5345人阅读 评论(0) 收藏 举报

1:使用HashMap的一个简单例子

  1. package com.pb.collection;
  2. import java.util.HashMap;
  3. import java.util.Iterator;
  4. import java.util.Set;
  5. import java.util.Map.Entry;
  6. public class HashMapDemo {
  7. public static void main(String[] args) {
  8. HashMap<String, String> hashMap = new HashMap<String, String>();
  9. hashMap.put("cn", "中国");
  10. hashMap.put("jp", "日本");
  11. hashMap.put("fr", "法国");
  12. System.out.println(hashMap);
  13. System.out.println("cn:" + hashMap.get("cn"));
  14. System.out.println(hashMap.containsKey("cn"));
  15. System.out.println(hashMap.keySet());
  16. System.out.println(hashMap.isEmpty());
  17. hashMap.remove("cn");
  18. System.out.println(hashMap.containsKey("cn"));
  19. //采用Iterator遍历HashMap
  20. Iterator it = hashMap.keySet().iterator();
  21. while(it.hasNext()) {
  22. String key = (String)it.next();
  23. System.out.println("key:" + key);
  24. System.out.println("value:" + hashMap.get(key));
  25. }
  26. //遍历HashMap的另一个方法
  27. Set<Entry<String, String>> sets = hashMap.entrySet();
  28. for(Entry<String, String> entry : sets) {
  29. System.out.print(entry.getKey() + ", ");
  30. System.out.println(entry.getValue());
  31. }
  32. }
  33. }

2:一个结合List和HashMap实现的例子

  1. import java.util.Iterator;
  2. import java.util.List;
  3. import java.util.HashMap;
  4. import java.util.ArrayList;
  5. import java.util.Map;
  6. import java.util.Scanner;
  7. import java.util.Set;
  8. import java.util.Map.Entry;
  9. /**
  10. * 在不创建学生类的情况下,从键盘输入n个学生信息(学号,姓名,年龄),
  11. * 输入完成后,打印出各个学生信息
  12. * @author ccna_zhang
  13. *
  14. */
  15. public class Assignment {
  16. public static void main(String[] args) {
  17. //定义保存学生信息的List,元素类型为HashMap
  18. List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
  19. Scanner input = new Scanner(System.in);
  20. System.out.println("请输入学生的信息,y表示继续,n表示退出");
  21. while("y".equals(input.next())) {
  22. HashMap<String, Object> map = new HashMap<String, Object>();
  23. System.out.println("请输入学号");
  24. map.put("studentno", input.next());
  25. System.out.println("请输入姓名");
  26. map.put("name", input.next());
  27. System.out.println("请输入年龄");
  28. map.put("age", input.nextInt());
  29. list.add(map);
  30. System.out.println("请继续输入学生的信息,y表示继续,n表示退出");
  31. }
  32. System.out.println("输入的学生信息为:");
  33. System.out.println("学生数量为:" + list.size());
  34. Iterator<HashMap<String, Object>> it = list.iterator();
  35. int i = 1;
  36. while(it.hasNext()) {
  37. HashMap<String, Object> stuMap = it.next();
  38. System.out.print("第" + i + "个学生的信息为");
  39. System.out.println("学号:" + stuMap.get("studentno") + " ,姓名:" + stuMap.get("name") + " ,年龄:" + stuMap.get("age"));
  40. }
  41. }
  42. }

Java中关于HashMap的使用和遍历(转)的更多相关文章

  1. Java中的HashMap的2种遍历方式比较

    首先我们准备数据,准备一个map Map<String, String> map = new HashMap<String, String>(); for (int i = 0 ...

  2. Java中关于HashMap的元素遍历的顺序问题

    Java中关于HashMap的元素遍历的顺序问题 今天在使用如下的方式遍历HashMap里面的元素时 1 for (Entry<String, String> entry : hashMa ...

  3. 沉淀再出发:java中的HashMap、ConcurrentHashMap和Hashtable的认识

    沉淀再出发:java中的HashMap.ConcurrentHashMap和Hashtable的认识 一.前言 很多知识在学习或者使用了之后总是会忘记的,但是如果把这些只是背后的原理理解了,并且记忆下 ...

  4. [转]为什么Java中的HashMap默认加载因子是0.75

    前几天在一个群里看到有人讨论hashmap中的加载因子为什么是默认0.75. HashMap源码中的加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75 ...

  5. Java中的HashMap的工作原理是什么?

    问答题23 /120 Java中的HashMap的工作原理是什么? 参考答案 Java中的HashMap是以键值对(key-value)的形式存储元素的.HashMap需要一个hash函数,它使用ha ...

  6. Java 中 List 向前和向后遍历

    Java 中 List 向前和向后遍历 import java.util.*; public class TestCollectionIterator { public static void mai ...

  7. 关于Java中的HashMap的深浅拷贝的测试与几点思考

    0.前言 工作忙起来后,许久不看算法,竟然DFA敏感词算法都要看好一阵才能理解...真是和三阶魔方还原手法一样,田园将芜,非常可惜啊. 在DFA算法中,第一步是需要理解它的数据结构,在此基础上,涉及到 ...

  8. hash表及Java中的HashMap与HashSet

    链接: http://alex09.iteye.com/blog/539545/ 当程序试图将一个 key-value 对放入 HashMap 中时,程序首先根据该 key 的 hashCode() ...

  9. Java中的HashMap 浅析

    在Java的集合框架中,HashSet,HashMap是用的比较多的一种,顺序结构的ArrayList.LinkedList这种也比较多,而像那几个线程同步的容器就用的比较少,像Vector和Hash ...

随机推荐

  1. DOM操作-主动触发按钮的单击事件

    代码: ———————————————————————————————— <script>       function fireBtnClick(){        var myBtn ...

  2. kafka和flume的对比

    摘要: (1)kafka和flume都是日志系统.kafka是分布式消息中间件,自带存储,提供push和pull存取数据功能.flume分为agent(数据采集器),collector(数据简单处理和 ...

  3. Django:之CMDB资源系统

    渐谈CMDB需要内容,ITIL.CMDB介绍.Django自定义用户认证.Restful规范.资产管理功能开发. ITIL介绍 TIL即IT基础架构库(Information Technology I ...

  4. tsung: an open-source multi-protocol distributed load testing tool

     ROPERTIES::type: KnowledgeBase_Cloud:END: 开源.多协议.分布式的压力测试工具   Item Summary tsung-recorder start 通过p ...

  5. .Cannot create an NSPersistentStoreCoordinator with a nil model

    今天用coredata事,忽然遇到这个问题:找了一会终于发现问题所在,与大家分享一下 导致这个问题的原因是因为找不到.xcdatamodeld所致,不同的人可能遇到的问题不同 可能原因1: NSURL ...

  6. 19个心得 明明白白说Linux下的负载均衡

    [51CTO.com独家特稿]前言:作为一名Linux/unix系统工程师,这几年一直在涉及到对外项目,经手过许多小中型网站的架构,F5.LVS及Nginx接触的都比较多,我想一种比较通俗易懂的语气跟 ...

  7. 【dp】 poj 1157

    不错的dp入门题  画出dp矩阵  每个dp[i][j]是由“其上”的状态或是“其左上”的状态转化而来,那我们选对角线和上边进行三角dp推导 #include<stdio.h> #incl ...

  8. idea编译报错:未结束的字符串文字;非法的表达式;未结束的字符串字面值

    在idea的Settings中,找到File Encodings,将IDE Encoding 改为UTF-8 要多试几次,清除缓存什么的,具体原因不知道,不过经常第一次修改不能成功.

  9. Vs2010 WPF 项目打包

    [转]图解WPF程序打包全过程 首先打开已经完成的工程,如图: 下面开始制作安装程序包. 第一步:[文件]——[新建]——[项目]——安装项目. 名称——可以自己根据要求修改. 位置——是指你要制作的 ...

  10. 门面模式(Facade)解析

    门面模式使用一个门面类来包装一些复杂的类,对外提供一个简单的访问方法. 见如下代码: class CPU { public void startup() { System.out.println(&q ...