Java中关于HashMap的使用和遍历(转)

Java中关于HashMap的使用和遍历

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

hashmapjavastringobjectiteratorlist

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

[java] view plaincopy

  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实现的例子

[java] view plaincopy

  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. }
时间: 2024-10-20 17:59:44

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

Java中关于HashMap的使用和遍历

1:使用HashMap的一个简单例子 package com.pb.collection; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.util.Map.Entry; public class HashMapDemo { public static void main(String[] args) { HashMap<String, String> hashMap

java中的HashMap解析

这篇文章准备从源码的角度带大家分析一下java中的hashMap的原理,在了解源码之前,我们先根据自己的理解创建一个hashMap. 先说明一下创建的具体原理是这样的,所谓hashMap,必然是用hash方法来区分不同的key值.学过hash的都知道,我们解决hash冲突的一种方法就是使用散列和桶,首先确定所在的桶号,然后在桶里面逐个查找.其实我们也可以单纯使用数组实现map,使用散列是为了获得更高的查询效率. 要写自己的hashmap前,必须说明一下两个方法,就是hashcode()和equa

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

0.前言 工作忙起来后,许久不看算法,竟然DFA敏感词算法都要看好一阵才能理解...真是和三阶魔方还原手法一样,田园将芜,非常可惜啊. 在DFA算法中,第一步是需要理解它的数据结构,在此基础上,涉及到一些Hashmap的赋值.这里的赋值非常有趣,三个Hashmap翻来覆去赋值,就解决了敏感词表的初始化. 里面都是属于下文中的Hashmap"浅拷贝",那么究竟Java中的Hashmap有哪些拷贝方法呢? 1.测试代码 HashMap hm_source = new HashMap();

javascript 实现类似Java中的hashmap

应用场景: 想把函数和函数对应的数据比较直观的存储起来 突然觉得Javascript中的object不够用了  所以自己仿了个java中的hashmap key支持任何Javascript类型的数据 但是NaN Undefined 这种类型的没有实验 以下是源码 function hashmapfn(){      var p={      rkey:7,      size:0,      obj:{}      };      function getKey(key){      if(ty

深入理解Java中的HashMap

HashMap继承自抽象类AbstractMap,抽象类AbstractMap实现了Map接口.关系图如下所示: import java.util.*; public class SimpleMap<K,V> extends AbstractMap<K,V> { //keys存储所有的键 private List<K> keys = new ArrayList<K>(); //values存储所有的值 private List<V> values

深入理解Java中的HashMap的实现原理

HashMap继承自抽象类AbstractMap,抽象类AbstractMap实现了Map接口.关系图例如以下所看到的: Java中的Map<key, value>接口同意我们将一个对象作为key.也就是能够用一个对象作为key去查找还有一个对象. 在我们探讨HashMap的实现原理之前,我们先自己实现了一个SimpleMap类,该类继承自AbstractMap类. 详细实现例如以下: import java.util.*; public class SimpleMap<K,V>

[Java基础要义]HashMap、LinkedHashMap元素遍历机制探讨

Map作为键值对Entry<K,V>的的容器,对其内部 键值对Entry<K,V> 的遍历总归是要有一个顺序的. 本文重点讨论HashMap及其子类LinkedHashMap的遍历机制,总结出两者的特点和适用情况.  CSDN-2014博客之星投票啦 CSDN-2014博客之星   评选开始啦,如果您觉得我的文章对您有所帮助,请您点击左边栏的图片投我一票,您的支持是我分享知识的强大动力! 1.HashMap的遍历机制 HashMap 提供了两个遍历访问其内部元素Entry<k

Java中的HashMap遍历

import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "a"); map.put(2, "b

java中对HashMap遍历的方式

第一种是利用HashMap的entrySet()方法: Map<String,String> map = new HashMap<String,String>(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); String key = entry.getKey(); String val = entry.g