Java中通过HashMap来存取数据的小知识点
来源:互联网 发布:windows10壁纸软件 编辑:程序博客网 时间:2024/05/17 08:11
HashMap有两种方式来迭代获取集合中存储的键值对
第一种:keySet()方法,该方法会返回一个Set集合,然后通过迭代这个集合来获取HashMap中存储的值
第二种:entrySet()方法,该方法会返回一个支持泛型的Set对象:格式为Set<Map.Entry> ,然后通过迭代这个set集合来获取HashMap中存储的值
要注意的是:HashMap中要求键是唯一的,如果键重复,那么后put()的对象会覆盖之前的对象,键唯一,而值不唯一
import java.util.*;class StudentMap {public static void main(String[] args) {HashMap<Integer,Student> hm =new HashMap<Integer,Student>();//创建集合对象hm.put(1,new Student("li1",20));hm.put(1,new Student("li1",22));//键都是1,那么则会覆盖上面那个学生对象hm.put(3,new Student("li2",20));hm.put(4,new Student("li1",20));hm.put(5,new Student("li2",20));//向集合中添加元素Set<Integer> set=hm.keySet();//获得包含键视图的set集合Iterator<Integer> it = set.iterator();//获得set集合的迭代器while(it.hasNext()){Integer i = it.next();sop(i+"="+hm.get(i));//迭代输出每一个键}//Set<Map.Entry<Integer,Student>> entry = hm.entrySet();//获取包含Map.Entry键值对的Set集合//Iterator<Map.Entry<Integer,Student>> it = entry.iterator();//获取迭代器//while(it.hasNext())//{//Map.Entry<Integer,Student> me = it.next();//将Map.Entry对象赋值给me//sop(me.getKey()+"="+me.getValue());//调用Map.Entry对象的方法来输出内容//}}public static void sop(Object obj){System.out.println(obj);}}
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
这是简单的student类
class Student {private String name = null;private int age = 0;public Student(String name,int age){this.name=name;this.age=age;}public String getName(){return this.name;}public int getAge(){return this.age;}public String toString()//覆盖toString方法{return "["+this.name+","+this.age+"]";}public int hashCode()//覆盖hashCode方法{return this.name.hashCode()+this.age*27;}}
import java.util.*;class StudentMap {public static void main(String[] args) {HashMap<Integer,Student> hm =new HashMap<Integer,Student>();//创建集合对象hm.put(1,new Student("li1",20));hm.put(1,new Student("li1",22));//键都是1,那么则会覆盖上面那个学生对象hm.put(3,new Student("li2",20));hm.put(4,new Student("li1",20));hm.put(5,new Student("li2",20));//向集合中添加元素Set<Integer> set=hm.keySet();//获得包含键视图的set集合Iterator<Integer> it = set.iterator();//获得set集合的迭代器while(it.hasNext()){Integer i = it.next();sop(i+"="+hm.get(i));//迭代输出每一个键}//Set<Map.Entry<Integer,Student>> entry = hm.entrySet();//获取包含Map.Entry键值对的Set集合//Iterator<Map.Entry<Integer,Student>> it = entry.iterator();//获取迭代器//while(it.hasNext())//{//Map.Entry<Integer,Student> me = it.next();//将Map.Entry对象赋值给me//sop(me.getKey()+"="+me.getValue());//调用Map.Entry对象的方法来输出内容//}}public static void sop(Object obj){System.out.println(obj);}}
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
这是简单的student类
class Student {private String name = null;private int age = 0;public Student(String name,int age){this.name=name;this.age=age;}public String getName(){return this.name;}public int getAge(){return this.age;}public String toString()//覆盖toString方法{return "["+this.name+","+this.age+"]";}public int hashCode()//覆盖hashCode方法{return this.name.hashCode()+this.age*27;}}
0 0
- Java中通过HashMap来存取数据的小知识点
- 通过java HashMap的存取方式来学习Hash存储机制
- java 小知识点HashMap
- 04.01-JDBC通过hashmap存取数据
- java如何来实现MySQL中Blob字段的存取
- Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子
- Python中数据的存取
- HashMap的存取
- HashMap详细的存取
- java的小知识点
- JAVA的小知识点
- Java 小例子:通过 WSAD 来移动的窗口
- unity C#中,用BinaryWrite和BinaryReader来存取数据
- Java容器类浅析二-----HashMap的存取原理
- ASP.NET中数据传送的几个小知识点
- Java中this 小知识点
- java中各种小知识点
- 使用java语言操作,如何来实现MySQL中Blob字段的存取
- hdu 3549 Flow Problem ek算法,网络流
- poj 1149 PIGS (网络流最大流Dinic)
- PyCharm设置python新建文件指定编码为utf-8
- 《纸牌屋》——交换才是硬道理?
- 2015年07月07日第六天笔记
- Java中通过HashMap来存取数据的小知识点
- Ubuntu14配置java开发环境
- [Android]Eclipse连不上模拟器的问题[emulator-5554 disconnected]
- mvc4中的 webapi 的使用方式
- POJ 1149 PIGS(最大流)
- HTML5 播放音频
- Java调用C#步奏详解
- LightOJ 1153 (网络流最大流 sap)
- mysql主键自增