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 = new HashMap<String, String>();
- hashMap.put("cn", "中国");
- hashMap.put("jp", "日本");
- hashMap.put("fr", "法国");
- System.out.println(hashMap);
- System.out.println("cn:" + hashMap.get("cn"));
- System.out.println(hashMap.containsKey("cn"));
- System.out.println(hashMap.keySet());
- System.out.println(hashMap.isEmpty());
- hashMap.remove("cn");
- System.out.println(hashMap.containsKey("cn"));
- //采用Iterator遍历HashMap
- Iterator it = hashMap.keySet().iterator();
- while(it.hasNext()) {
- String key = (String)it.next();
- System.out.println("key:" + key);
- System.out.println("value:" + hashMap.get(key));
- }
- //遍历HashMap的另一个方法
- Set<Entry<String, String>> sets = hashMap.entrySet();
- for(Entry<String, String> entry : sets) {
- System.out.print(entry.getKey() + ", ");
- System.out.println(entry.getValue());
- }
- }
- }
2:一个结合List和HashMap实现的例子
- import java.util.Iterator;
- import java.util.List;
- import java.util.HashMap;
- import java.util.ArrayList;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.Set;
- import java.util.Map.Entry;
- /**
- * 在不创建学生类的情况下,从键盘输入n个学生信息(学号,姓名,年龄),
- * 输入完成后,打印出各个学生信息
- * @author ccna_zhang
- *
- */
- public class Assignment {
- public static void main(String[] args) {
- //定义保存学生信息的List,元素类型为HashMap
- List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
- Scanner input = new Scanner(System.in);
- System.out.println("请输入学生的信息,y表示继续,n表示退出");
- while("y".equals(input.next())) {
- HashMap<String, Object> map = new HashMap<String, Object>();
- System.out.println("请输入学号");
- map.put("studentno", input.next());
- System.out.println("请输入姓名");
- map.put("name", input.next());
- System.out.println("请输入年龄");
- map.put("age", input.nextInt());
- list.add(map);
- System.out.println("请继续输入学生的信息,y表示继续,n表示退出");
- }
- System.out.println("输入的学生信息为:");
- System.out.println("学生数量为:" + list.size());
- Iterator<HashMap<String, Object>> it = list.iterator();
- int i = 1;
- while(it.hasNext()) {
- HashMap<String, Object> stuMap = it.next();
- System.out.print("第" + i + "个学生的信息为");
- System.out.println("学号:" + stuMap.get("studentno") + " ,姓名:" + stuMap.get("name") + " ,年龄:" + stuMap.get("age"));
- }
- }
- }
Java中关于HashMap的使用和遍历(转)的更多相关文章
- Java中的HashMap的2种遍历方式比较
首先我们准备数据,准备一个map Map<String, String> map = new HashMap<String, String>(); for (int i = 0 ...
- Java中关于HashMap的元素遍历的顺序问题
Java中关于HashMap的元素遍历的顺序问题 今天在使用如下的方式遍历HashMap里面的元素时 1 for (Entry<String, String> entry : hashMa ...
- 沉淀再出发:java中的HashMap、ConcurrentHashMap和Hashtable的认识
沉淀再出发:java中的HashMap.ConcurrentHashMap和Hashtable的认识 一.前言 很多知识在学习或者使用了之后总是会忘记的,但是如果把这些只是背后的原理理解了,并且记忆下 ...
- [转]为什么Java中的HashMap默认加载因子是0.75
前几天在一个群里看到有人讨论hashmap中的加载因子为什么是默认0.75. HashMap源码中的加载因子 static final float DEFAULT_LOAD_FACTOR = 0.75 ...
- Java中的HashMap的工作原理是什么?
问答题23 /120 Java中的HashMap的工作原理是什么? 参考答案 Java中的HashMap是以键值对(key-value)的形式存储元素的.HashMap需要一个hash函数,它使用ha ...
- Java 中 List 向前和向后遍历
Java 中 List 向前和向后遍历 import java.util.*; public class TestCollectionIterator { public static void mai ...
- 关于Java中的HashMap的深浅拷贝的测试与几点思考
0.前言 工作忙起来后,许久不看算法,竟然DFA敏感词算法都要看好一阵才能理解...真是和三阶魔方还原手法一样,田园将芜,非常可惜啊. 在DFA算法中,第一步是需要理解它的数据结构,在此基础上,涉及到 ...
- hash表及Java中的HashMap与HashSet
链接: http://alex09.iteye.com/blog/539545/ 当程序试图将一个 key-value 对放入 HashMap 中时,程序首先根据该 key 的 hashCode() ...
- Java中的HashMap 浅析
在Java的集合框架中,HashSet,HashMap是用的比较多的一种,顺序结构的ArrayList.LinkedList这种也比较多,而像那几个线程同步的容器就用的比较少,像Vector和Hash ...
随机推荐
- SourceTree基础
克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库 提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送) 检出(ch ...
- msdn我告诉你
http://msdn.itellyou.cn/ 微软旗下所有的msdn订阅软件资源 均为ed2k资源 Business Solutions MSDN Library 工具和资源 应用程序 开发人员工 ...
- JS总结之一:字符串的调用方法
字符串的调用方法:var s="hello, world";document.write(s.charAt(0)); //第一个字符document.write(s.charAt( ...
- Uploadify自定义提示信息
Uploadify是一款基于Jquery的上传插件,用起来很方便.但上传过程中的提示语言为英文,这里整理下如何修改英文为中文提示.方法1:直接修改uploadify.js中的提示信息,将英文提示改成对 ...
- Qt Creator下载和安装(详细教程)
简介 Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project. ...
- masonry使用问题
2015年11月3日 coreData的学习练习中复习使用masonry自动布局 masonry自动布局发现问题: 两个控件的相对布局: 如果被参考对象用这个带anchor的属性,就会报这样一个错误: ...
- Tomcat配置远程调试端口
Tomcat配置远程调试端口 1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xd ...
- STM32F407IG开启FPU,做开方运算
STM32F407IG开启FPU,做开方运算 MDK KEIL中使用STM32F4XX芯片硬件浮点单元FPU Keil中使用STM32F4xx硬件浮点单元 STM32F4-浮点DSP库的MDK开发环境 ...
- wpf CollectionViewSource的运用
实体类: 员工类: public class Department : ObservableCollection<Employee> { public string DepName { g ...
- 32位Intel CPU所含有的寄存器
4个数据寄存器(EAX.EBX.ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES.CS.SS.DS.FS和GS)1个指令指针寄存器(EIP) ...