热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HashMap存储自定义类型键值和LinkedHashMap集合

HashMap存储自定义类型键值1、当给HashMap中存放自定义对象时,如果自定义对象是键存在,保证键唯一,必须复写对象的hashCode和equals方法。2、如果要保证map

HashMap存储自定义类型键值

1、当给HashMap中存放自定义对象时,如果自定义对象是键存在,保证键唯一,必须复写对象的hashCode和equals方法。

2、如果要保证map中存放的key和取出的顺序一致,可使用LinkedHashMap集合来存放

public class Person {
private String name;
private int age;
public Person(String name, int age) {
super();
//有参构造
this.name = name;
this.age = age;
}
//无参构造
public Person() {
super();
}
//get set
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//toString方法
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result
= prime * result + age;
result
= prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
//哈西和equals
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other
= (Person) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
}
else if (!name.equals(other.name))
return false;
return true;
}
}

public class Demo03 {
public static void main(String[] args) {
Map

map=new HashMap

();
map.put(
new Person("胸大",22),"java0322班");
map.put(
new Person("胸二",20), "java0222班");
map.put(
new Person("胸二",20), "java0262班");
//遍历
//1.获取装有所有key的Set集合
Set

set=map.keySet();
//2.遍历set集合取到每一个key
for(Person key:set){
System.out.println(key
+"..."+map.get(key));
}
}
}

LinkedHashMap

public class Demo04 {
public static void main(String[] args) {
Map
map=new LinkedHashMap();
//添加数据
map.put("java0322",new Person("胸三",33));
map.put(
"java0222",new Person("胸大",33));
map.put(
"java0611",new Person("胸三",33));
//遍历(entrySet迭代器)
//1.获取所有结婚证存在的集合
Set> set=map.entrySet();
//2.获取迭代器对象
Iterator> it=set.iterator();
//3.循环判断下个元素是否有值
while(it.hasNext()){
//4.获取每一个结婚证对象
Map.Entry entry=it.next();
//5.从结婚证对象中获取key
String key=entry.getKey();
//6.从结婚证对象中获取value
Person value=entry.getValue();
System.out.println(key
+"..."+value);
}
}
}

 



推荐阅读
  • 本文详细介绍了MySQL表分区的概念、类型及其在实际应用中的实施方法,特别是针对Zabbix数据库的优化策略。 ... [详细]
  • 本文介绍如何使用Java实现AC自动机(Aho-Corasick算法),以实现高效的多模式字符串匹配。文章涵盖了Trie树和KMP算法的基础知识,并提供了一个详细的代码示例,包括构建Trie树、设置失败指针以及执行搜索的过程。 ... [详细]
  • 本文详细探讨了 HAProxy 的基本概念及其与 LVS(Linux Virtual Server)的比较,特别是在内核空间与用户空间的工作差异。文章还深入介绍了 HAProxy 独有的数据结构——弹性二叉树,以及其在高并发场景下的表现。 ... [详细]
  • 本文介绍如何使用Python编程语言合并字典中具有相同集合值的键,并提供两种实现方法。 ... [详细]
  • [编程题] LeetCode上的Dynamic Programming(动态规划)类型的题目
    继上次把backTracking的题目做了一下之后:backTracking,我把LeetCode的动态规划的题目又做了一下,还有几道比较难的Medium的题和Hard的题没做出来,后面会继续 ... [详细]
  • 深入理解Java反射机制
    本文将详细介绍Java反射的基础知识,包括如何获取Class对象、反射的基本过程、构造器、字段和方法的反射操作,以及内省机制的应用。同时,通过实例代码加深对反射的理解,并探讨其在实际开发中的应用。 ... [详细]
  • 深入解析链表成环问题:剑指Offer第22天的新视角
    本文将详细介绍链表成环问题的多种解法,包括哈希表法、JSON.stringify特殊解法及双指针法,并提供详尽的代码示例。阅读本文,你不仅能够掌握这一经典算法问题的核心技巧,还能了解到更多编程思维的拓展。 ... [详细]
  • Python闭包深度解析与应用实例
    本文详细介绍了Python闭包的基本概念、必要条件及其实现方式,并通过具体示例说明闭包在提高代码复用性和维护性方面的作用。文章最后还探讨了闭包的内部机制及其在实际项目中的应用。 ... [详细]
  • 探讨了生成时间敏感的一次性伪随机密码的方法,旨在通过加入时间因素防止重放攻击。 ... [详细]
  • 本文详细介绍了如何在 EasyUI 框架中实现 DataGrid 组件的分页功能,包括配置方法和常见问题的解决方案。 ... [详细]
  • 本文详细记录了一位Java程序员在Lazada的面试经历,涵盖同步机制、JVM调优、Redis应用、线程池配置、Spring框架特性等多个技术点,以及高级面试中的设计问题和解决方案。 ... [详细]
  • Redis: 高效的键值存储系统
    Redis是一款遵循BSD许可的开源高性能键值存储系统,它不仅支持多种数据类型的存储,还提供了数据持久化和复制等功能,显著区别于其他键值缓存解决方案。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • 本文介绍了一个将 Java 实体对象转换为 Map 的工具类,通过反射机制获取实体类的字段并将其值映射到 Map 中,适用于需要将对象数据结构化处理的场景。 ... [详细]
  • 文章目录IntroductionRelatedWork网络稀疏化(NetworkSlimming)whychoosechennel-levelspars ... [详细]
author-avatar
勇胆识_156
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有