Java基础知识强化之集合框架笔记56:Map集合之HashMap集合(HashMapString,Student)的案例...
1. HashMap集合(HashMap<String,Student>)的案例
HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里。
HashMap的底层是利用hash算法算出键对应的哈希码,然后我们把值存放在这个哈希码对应的存储位置。当我们需要取出这个值的时候,我们利用hash算法算出键对应的哈希码,然后就可以快速定位到哈希码对应的存储地方的值。
哈希表结构主要作用:快速定位查找。
2. 代码示例:
(1)Student.java:
1 package cn.itcast_02; 2 3 public class Student { 4 private String name; 5 private int age; 6 7 public Student() { 8 super(); 9 } 10 11 public Student(String name, int age) { 12 super(); 13 this.name = name; 14 this.age = age; 15 } 16 17 public String getName() { 18 return name; 19 } 20 21 public void setName(String name) { 22 this.name = name; 23 } 24 25 public int getAge() { 26 return age; 27 } 28 29 public void setAge(int age) { 30 this.age = age; 31 } }
(2)代码测试类HashMapDemo3 :
1 package cn.itcast_02; 2 3 import java.util.HashMap; 4 import java.util.Set; 5 6 /* 7 * HashMap<String,Student> 8 * 键:String 学号 9 * 值:Student 学生对象 10 */ 11 public class HashMapDemo3 { 12 public static void main(String[] args) { 13 // 创建集合对象 14 HashMap<String, Student> hm = new HashMap<String, Student>(); 15 16 // 创建学生对象 17 Student s1 = new Student("周星驰", 58); 18 Student s2 = new Student("刘德华", 55); 19 Student s3 = new Student("梁朝伟", 54); 20 Student s4 = new Student("刘嘉玲", 50); 21 22 // 添加元素 23 hm.put("9527", s1); 24 hm.put("9522", s2); 25 hm.put("9524", s3); 26 hm.put("9529", s4); 27 28 // 遍历 29 Set<String> set = hm.keySet(); 30 for (String key : set) { 31 // 注意了:这次值不是字符串了 32 // String value = hm.get(key); 33 Student value = hm.get(key); 34 System.out.println(key + "---" + value.getName() + "---" 35 + value.getAge()); 36 } 37 } 38 }
运行效果,如下:
转载于:https://www.cnblogs.com/hebao0514/p/4865092.html
Java基础知识强化之集合框架笔记56:Map集合之HashMap集合(HashMapString,Student)的案例...相关推荐
- Java基础知识强化之IO流笔记41:字符流缓冲流之复制文本文件案例02(使用 [ newLine() / readLine() ] )(重要)...
1. 使用字符流缓冲流的特殊功能 [ newLine() / readLine() ] 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中 数据源: a.txt -- 读取数据 ...
- Java基础知识强化之IO流笔记03:throws的方式处理异常
1. 什么时候使用throws ? (1)定义功能方法时候,需要把出现的问题暴露出来,让调用者去处理.那么就通过throws在方法上标识. (2)有时候,我们是可以对异常进行处理的,但是又有些时候,我 ...
- Java基础知识强化之IO流笔记32:转换流之OutputStreamWriter的使用
1. OutputStreamWriter的使用 OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流 OutputStreamWriter ...
- Java基础知识强化之网络编程笔记25:Android网络通信之 Future接口介绍(Java程序执行超时)...
1. Future接口简介 在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现. Future接口是Java标准API ...
- Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例
1. 通过多线程改进刚才的聊天程序,这样我就可以实现在一个窗口发送和接收数据了 2. 代码示例: (1)SendThread.java,如下: 1 package com.himi.udpDemo2 ...
- Java基础知识强化之IO流笔记44:IO流练习之 复制图片的 4 种方式案例
1. 复制图片的 4 种方式案例: 分析: 复制数据,如果我们知道用记事本打开并能够读懂,就用字符流,否则用字节流. 通过该原理,我们知道我们应该采用字节流. 而字节流有4种方式,所以做这个题目我们有 ...
- Java基础知识强化之网络编程笔记04:UDP之发送端的数据来自于键盘录入案例
1. 数据来自于键盘录入 键盘录入数据要自己控制录入结束. 2. 代码实现: (1)发送端: 1 package com.himi.updDemo1; 2 3 import java.io.IOExc ...
- Java基础知识强化之IO流笔记59:打印流
1. 打印流 (1)分类: • 字节打印流 PrintStream • 字符打印流 PrintWriter (2)打印流的特点: • 只能写数据,不能读数据 • 只能操作目的地,不能操作数据源 ...
- Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据
1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源 UDP协议接 ...
- Java基础知识强化之IO流笔记42:IO流总结(图解)
1. IO流总结(图解) 转载于:https://www.cnblogs.com/hebao0514/p/4868913.html
最新文章
- JS中的 generator
- 电脑php在哪里,电脑上地址栏在哪?
- 高性能缓存服务器Varnish详解
- 两条信号之间加电容_上海贴片电阻电容厂家地址-华腾电子
- linux php不能写文件内容,php 在linux系统下写出文件问题
- endpointimpl怎么填参数_App拉新:以老拉新活动怎么做?
- 贾跃亭旗下FF公司遭做空 美国机构质疑其造车能力:卖不出一辆FF91
- 接收 go run main.go 后面的参数_厦门油泥水三相离心分离机功能和参数
- 2018福布斯全球科技女性TOP 50榜单:李飞飞、滴滴柳青上榜
- js类型判断(数字、0、、undefined、null)
- Dart中dynamic,var,object三者的区别
- xgboost和lightGBM区别
- dev-cpp linux,QT4+Devcpp开发环境搭建(参照网上资料整理)
- 如何合并excel文件
- Bitset 源码解析
- 如何看懂公司的财务报表(2)
- 全国独一份!200万杭州人公积金可用支付宝刷脸提取,秒到账!
- 2020-11-12 Python 类继承、多态和特殊模式
- 备胎的自我修养 | (1)备胎的境界--七友
- fiddler抓包指南(浏览器、app抓包及证书安装)
热门文章
- 【Linux】一步一步学Linux——pmap命令(145)
- java 2d 绘图教程_Java标准教程:Java 2D绘图--第2章 从绘图开始
- 51单片机的复位引脚_51单片机复位电路工作原理
- python mysql数据库操作grid控件_Python学习笔记_02:使用Tkinter连接MySQL数据库实现登陆注册功能...
- 每天一道LeetCode-----找到序列中第一个没有出现的正整数,要求时间复杂度是O(n),空间复杂度是O(1)
- 模拟登录123026网站
- 使用debug工具修改寄存器中的值
- mysql语句的左外链接_MySQL中的JOIN连接
- CFtpFileFind FindFile卡住的问题
- pstools套件在渗透中的应用详解