import java.util.*;
/*练习.HashMap两种取出方式
条件:每一个学生都有对应的归属地。
学生Student,地址String
学生属性:姓名,年龄
注意:姓名和年龄相同的视为同一个学生。
保证学生的唯一性*/
class StuHashMapDemo
{
public static void main(String[] args)
{
HashMap<Student,String> hm=new HashMap<Student,String>();
hm.put(new Student("wangcong",25),"beijing");
hm.put(new Student("wangming",23),"shanghai");
hm.put(new Student("wangfan",25),"wuhan");
hm.put(new Student("wangliang",22),"tianjing");
hm.put(new Student("wangerxiao",26),"nanjing");
//第一种取出方式keySet
Set<Student> keySet=hm.keySet();
Iterator<Student> it=keySet.iterator();
while(it.hasNext())
{
Student stu=it.next();
String addr=hm.get(stu);
System.out.println(stu.getName()+":"+stu.getAge()+"........"+addr);
}
//第二种取出方式entrySet
Set<Map.Entry<Student,String>> entrySet=hm.entrySet();
Iterator<Map.Entry<Student,String>> iter=entrySet.iterator();
while(iter.hasNext())
{
Map.Entry<Student,String> me=iter.next();
Student stu=me.getKey();
String addr=me.getValue();
System.out.println(stu.getName()+":"+stu.getAge()+"........"+addr);
}
}
}
class Student implements Comparable<Student>//实现Comparable方法让Student具备比较性
{
private String name;
private int age;
Student(String name,int age)
{
this.name=name;
this.age=age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
//复写hashCode方法为哈希表判断重复元素使用
public int hashCode()
{
return this.name.hashCode()+age*20;
}
//复写equals方法
public boolean equals(Object obj)
{
if(!(obj instanceof Student))
throw new ClassCastException("类型不匹配!");
Student s=(Student)obj;
return this.name.equals(s.getName()) && this.age==s.getAge();
}
//复写compareTo方法
public int compareTo(Student s)
{
int num=new Integer(this.age).compareTo(new Integer(s.getAge()));
if(num==0)
return this.name.compareTo(s.getName());
return num;
}
}相关推荐
从ADC校准到精准测量:避开PY32F030小信号采样的那些坑
本文深入探讨了PY32F030微控制器进行ADC小信号采样时面临的挑战与解决方案。从硬件设计、软件滤波算法到系统级校准策略,详细分析了如何避开常见陷阱,实现精准测量,特别是在25mV以下小信号场景中的应用实践。
聊聊Java中的HashMap实现里有哪些实用的技巧
大家对HashMap应该再熟悉不过了,“八股文”中的高频知识点,代码里也没少使用,不过我们有仔细去分析它的实现里有哪些有价值的内容值得我们去提取吗?今天可以一起讨论下。
【STM32】STM32F407实现简单的Modbus协议
1.ModBus协议简介 MODBUS协议是一种串行通信协议,由Modicon公司(施耐德公司前身)发表,由于其公开发表且无版权要求,易于部署和维护,在工业界广泛应用。MODBUS采用主从通信(Master/Slave),MODBUS有三种报文格式:ASCII、RTU、TCP,本文主要讨论RTU。 如下图所示,串行通信上的MODBUS协议主要由地址,功能码,数据,CRC校验四部分数据帧构成。主机和从机的串行通信设备要求一致,参数要求一致,即假设使用串口,主从机波特率,奇偶校验...
集合习题练习(HashMap)
文章目录1.编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。 1.编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。 import java.util.HashMap; import java.util.Map.Entry; import java.util.ArrayList; import ja
FCTA/FCTB 前方交通穿行预警/制动系统技术规范
FCTA&FCTB前方交叉路口预警制动系统是针对十字路口和停车场等"鬼探头"场景设计的驾驶辅助系统。系统在自车速度0-40km/h范围内工作,通过角雷达和摄像头检测侧向来车.
MicroCap声学仿真介绍(五)-倒相管扬声器系统仿真
实际倒相管的扬声器单体选择、后腔容积、倒相管的直径和长度都是需要精心挑选的,为了便于演示,随意指定了倒相管的长度和直径,现实中还是不能这么随便的。之前介绍了封闭式扬声器的仿真,今天在封闭式扬声器的基础上,再介绍一下倒相管扬声器系统的仿真。
java基础之HashMap练习题
⑦ 输入一个员工姓名,查询集合中是否存在该员工,存在-将此员工的工资在原有的基础上加2000,① 利用Map,以班级号作为键(String类型),全班的学生作为值,描述以上所有班级信息。③ 输入一个id,查询是否存在,存在则输出该工人的信息,否则打印输出"查无此人!不存在-打印查无此人。② 输入一个学号,查找是否存在,存在,则输出对应的姓名,否则输出"查无此人!①使用 Map,以老师的名字作为键,教授的课程名作为值,表示上述课程安排。① 打印输出所有的信息,打印格式要求: 学号-1000,姓名-张三。
3.嵌入式控制器EC学习,源码框架(60/64端口)(一)
服务函数剖析 上一篇讲到while循环会一直查询十六个标志位是否满足要求,一旦其中某个标志位为1时,程序将会执行相应的服务函数,而执行服务函数是通过函数指针(service_table[ _R1 ])();来实现的。接下来我们分别来看看这十六个服务函数分别包含了哪些内容。 16个函数的函数名如下: const FUNCT_PTR_V_V code service_table[16] = { // Hi-Level Service Service_PCI, // Host 6
集合——HashMap 练习题 (个人信息录入)
package gatherBox.exercises.exercisesTest; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Test { public static void main(String[] args) { Map<String, Person> aMap = new HashMap<String, Pers...
Qt之自定义带游标的QSlider
最近翻看6年前写了一篇关于QSlider的博客:Qt自定义带游标的slider,在滑块正上方显示当前值 发现存在很多问题,比如游标的坐标不准确;如果游标宽度稍大,滑到Slider最左或最右的时候会显示不全;游标不够美观。 PS:这里有个漂亮的Slider样式表https://blog.youkuaiyun.com/caoshangpa/article/details/53389517于是今天再实现了一遍,依然是子类化QSlider,效果如下,支持设置游标的尺寸:这一次的实现比之前简洁很多,只需要重新paintEvent
【数据集】中国各类水文专业常用数据集合集
对中国各类水文专业常用数据集进行整理并总结
数据结构【HashMap刷题】
刷题笔记
基于YOLOv11的工业零件表面缺陷检测系统:从原理到实现
工业质量控制是制造业的核心环节,表面缺陷检测作为其中重要组成部分,直接关系到产品质量和企业效益。本文详细介绍了一种基于YOLOv11深度学习算法的工业零件表面缺陷检测系统,包含完整的算法原理分析、数据集构建方法、模型训练策略以及用户界面设计。通过大量实验验证,该系统能够高效准确地检测零件表面的划痕、凹陷、锈蚀等多种缺陷,检测精度达到96.2%,满足工业实时检测需求。本文还提供了完整的代码实现和详细的技术文档,为相关领域的研究者和工程师提供参考。关键词:表面缺陷检测;YOLOv11;深度学习;工业视觉;
JAVA Map类代码解析,Map中键值对的两种取出方式
Map中键值对的两种取出方式 1,Set keySet:将map中所有的键存入到Set集合。因为set具备迭代器。 所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。 Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。 2,Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到了set集合中, 而这个关系的数据类型就是:Map.Entry Entry其实就是Map中的一个static内部接口。 为什么要定义在内部
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
java中map集合的两种取出方式keySet和entrySet
package day03; import java.util.*; class MapDemo { public static void main(String[] args) { Map map=new HashMap(); map.put("01","zhangsan01"); map.put("02","zhangsan02"); map.put("03","zhangsan
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
day16Map集合,map集合的两种取出方式。map里面有集合类,map扩展。
/* Map集合,map集合的两种取出方式。map里面有集合类,map扩展。 */ /* Map接口 Map集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。 1,添加。 put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。 putAll(Map m) 从指定映射中将所有映射关系复制到此映
java集合业务问题:取出List里面Map的key:value值(具体问题在文中)
今天在业务上遇到了一点小问题,现在记录一下 java集合业务问题:取出List<Map<String,Object>>里面Map的key:value值 1.取出Map其中一个属性的值 Map map = new HashMap(); map.put("key1", "value1"); map.put("key2", "value2"); List> list...
java中Map集合的四种遍历方式
java中Map集合的四种遍历方式 Map接口和Collection接口的集合不同,Map集合是双列的,Collection是单列的.Map集合将键映射到值的对象. 双列的集合遍历起来也是比较麻烦些的,特别是嵌套的map集合,这里说下MAP集合的四种遍历方式,并且以嵌套的hashMap集合为例, 遍历一下。 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry
Java-Map集合
现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即接口。我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的(理解为夫妻)。
Map集合的使用、遍历的两种方式、HashMap、LinkedHashMap、TreeMap集合、HashMap嵌套
Map集合概述和特点 A: 需求: 根据学号获取学生姓名 B:Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 C:Map接口和Collection接口的不同 Map是双列的,Collection是单列的 Map的键唯一,Collection的子体系Set是唯一的 Map集合的数据结构针对键有效,跟值无关;Collection集合的数据...
Map集合的两种取出方式
Map集合的两种取出方式:1、Set<k> keySet将map中所有的键存入到Set集合。因为set具备迭代器。 所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。 Map集合的取出原理:将map集合转成set集合。再通过迭代器取出。2、Set<Map.Entry<k,v>> entrySet将map集合中的映射关系存入到了set集合中,而这个关系的数据类型就是:Map.E
Map集合练习
1.有学生类Student(姓名,班级,成绩),请使用Map集合添加三个学生, 三个学生信息如下 --对HashMap集合中的对象进行遍历输出,参考 MapDemo. java; --输出内容类似下面这样(key : value对象属性的值) : 1i:1i 2 90 zhang:zhang 3 87 wang:wang 1...
Java中如何取出Map集合中的元素
Java的Map集合中没有迭代器,需要将其转换为set集合 /*map集合的两种取出方式:1,SetkeySet:将map中所有的键存入到Set集合。因为set具备迭代器。 所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。 Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。2,Set> entrySet:将map集合中的映射关系存入到了set集合中, 而这个关系的数据类型就是:Map.Entry Entry其实就是Map中的一个static内部接口。 为什么要定
Java 中的 Map 集合及其子类详解:HashMap 和 TreeMap
键唯一性:每个键在集合中都是唯一的,不能重复。值可以重复:不同的键可以对应相同的值。高效查找:通过键查找值的时间复杂度通常为O(1)(在HashMap中)。Map是一个接口,表示存储键值对的数据结构。键的唯一性保证了查找、插入、删除的效率,值可以重复。常见的实现类有HashMap和TreeMap。interface Map // K: 键类型, V: 值类型HashMap是Map接口的一个重要实现类,基于哈希表(Hash Table)实现。它提供了快速的查找、插入和删除操作,是在单线程。
Java练习——Map集合
Map通过键-值(key-value)对的形式来存储数据Map的实现:HashMap(使用频率最高的),TreeMap,HashTableMap中,key可以为任意类型,但这里建议使用String,value也可以是任意类型Map里面多个value可以是不同类型Map里面key是可以重复的,当key重复时,后存入的数据会覆盖前面的数据Map里面,value可以重复.Map里面的key可以为null,但是只能有一个,多个的时候,后面的会覆盖前面的。
Java中的Map集合:从HashMap到ConcurrentHashMap
在Java集合框架中,Map接口占据着重要的位置。Map用于存储键值对(key-value pairs),其中每个键都是唯一的。Map接口定义了一系列操作这些键值对的方法,如添加、删除、获取等。: 添加键值对: 根据键获取值: 移除键值对: 检查是否包含某个键: 检查是否包含某个值size(): 返回Map的大小isEmpty(): 检查Map是否为空Java提供了丰富的Map实现,每种实现都有其特定的用途和性能特征。在选择使用哪种Map实现时,需要考虑以下因素:是否需要线程安全。
759



被折叠的 条评论
为什么被折叠?



