当前位置: 首页 > news >正文

集合框架16:HashMap的使用

视频链接:13.35 HashMap使用(1)_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from=333.788.videopod.episodes&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5&p=35

1.创建Student类,添加无参构造器、有参构造器、get()和set()方法、重写hashCode()方法和equals()方法;


package com.yundait.demo02;import java.util.Objects;public class Student {private String name;private int stuNo;public Student() {}public Student(String name, int stuNo) {this.name = name;this.stuNo = stuNo;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getStuNo() {return stuNo;}public void setStuNo(int stuNo) {this.stuNo = stuNo;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", stuNo=" + stuNo +'}';}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (!(o instanceof Student)) return false;Student student = (Student) o;return getStuNo() == student.getStuNo() && Objects.equals(getName(), student.getName());}@Overridepublic int hashCode() {return Objects.hash(getName(), getStuNo());}
}

2.创建HashMap类并演示添加元素、删除元素、遍历集合、判断操作

package com.yundait.demo02;import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class HashMapDemo01 {public static void main(String[] args) {//创建HashMap集合HashMap<Student, String> students = new HashMap<>();//1添加元素Student s1 = new Student("孙悟空", 100);Student s2 = new Student("猪八戒", 101);Student s3 = new Student("沙和尚", 102);students.put(s1,"北京");students.put(s2,"南京");students.put(s3,"杭州");students.put(new Student("孙悟空", 100),"杭州");System.out.println("元素个数为:" + students.size());System.out.println(students.toString());//2删除元素//        students.remove(s1);System.out.println("删除后元素的个数:" + students.size());System.out.println(students.toString());//3遍历元素//3.1使用keySet()方法遍历System.out.println("-------使用keySet()方法遍历-------");for(Student key : students.keySet()){System.out.println(key + "------------" + students.get(key));}//3.2使用entrySet()方法进行遍历System.out.println("-----使用entrySet()方法遍历--------");for (Map.Entry<Student, String> entry : students.entrySet()) {System.out.println(entry.getKey() + "------------" + entry.getValue());}//4判断元素System.out.println(students.containsKey(s1));  //输出true//因为重写了hashCode()和equals方法所以可以判定为相同元素System.out.println(students.containsKey(new Student("孙悟空", 100))); //输出trueSystem.out.println(students.containsValue("东营")); //输出false}
}


http://www.mrgr.cn/news/56426.html

相关文章:

  • RabbitMQ高级特性详解
  • Spring6梳理15——Bean的作用域
  • 【Lammps】拉伸模拟实验
  • In-place Editor 存储库页面
  • 更换镜像部署LNMP环境
  • VTK的学习方法-第一类型应用
  • C++编程语言:抽象机制:特殊运算符(Bjarne Stroustrup)
  • 容灾与云计算概念
  • Javascript基础面试题
  • Leetcode—1114. 按序打印【简单】(多线程)
  • http作业
  • 10.22软考初级网络管理员工重点之因特网与网络互联技术
  • 红黑树(创建 插入 测试验证)
  • 深入了解Java
  • 力扣 困难 52.N皇后II
  • <a-table>行数据增加点击事件并获取点击行的数据+自定义button按事件
  • MySQL之CRUD(下)
  • 中间件之MQ-Kafka
  • sql数据库的命令行操作(修改表)
  • Leetcode—1242. 多线程网页爬虫【中等】Plus(多线程)
  • C语言初阶小练习4(不用临时变量交换数值)
  • dolphinscheduler创建工作流及工作流中DataX的使用(简单操作)
  • TikTok账号被限流怎么解决?
  • 【二】企业级JavaScript开发之代码编辑器
  • 什么是表单数据
  • 群晖通过 Docker 安装 Gitea