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

Java中关于HashMap的使用和遍历

分类: 算法与数据结构

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

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


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.       
  17.     public static void main(String[] args) {  
  18.           
  19.         //定义保存学生信息的List,元素类型为HashMap  
  20.         List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();  
  21.         Scanner input = new Scanner(System.in);  
  22.           
  23.         System.out.println("请输入学生的信息,y表示继续,n表示退出");  
  24.         while("y".equals(input.next())) {  
  25.             HashMap<String, Object> map = new HashMap<String, Object>();  
  26.             System.out.println("请输入学号");  
  27.             map.put("studentno", input.next());  
  28.             System.out.println("请输入姓名");  
  29.             map.put("name", input.next());  
  30.             System.out.println("请输入年龄");  
  31.             map.put("age", input.nextInt());  
  32.             list.add(map);  
  33.             System.out.println("请继续输入学生的信息,y表示继续,n表示退出");  
  34.         }  
  35.           
  36.         System.out.println("输入的学生信息为:");  
  37.         System.out.println("学生数量为:" + list.size());  
  38.           
  39.         Iterator<HashMap<String, Object>> it = list.iterator();  
  40.         int i = 1;  
  41.         while(it.hasNext()) {  
  42.             HashMap<String, Object> stuMap = it.next();  
  43.             System.out.print("第" + i + "个学生的信息为");  
  44.             System.out.println("学号:" + stuMap.get("studentno") + " ,姓名:" + stuMap.get("name") + " ,年龄:" + stuMap.get("age"));  
  45.         }  
  46.     }  
  47. }  
原文地址:https://www.cnblogs.com/qingchen1984/p/4290508.html