From be6aed66ba39b45559b29251eda5d7b087c42a11 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Wed, 14 Oct 2026 14:43:26 +0800 Subject: [PATCH] =?UTF-8?q?s-day03--HashSet=E5=AD=98=E5=82=A8=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s-day03/src/com/inmind/set02/HashDemo07.java | 8 +++--- .../src/com/inmind/set02/HashSetDemo08.java | 27 +++++++++++++++++++ s-day03/src/com/inmind/set02/Student.java | 8 ++++++ 3 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 s-day03/src/com/inmind/set02/HashSetDemo08.java diff --git a/s-day03/src/com/inmind/set02/HashDemo07.java b/s-day03/src/com/inmind/set02/HashDemo07.java index 90819bc..2b31c05 100644 --- a/s-day03/src/com/inmind/set02/HashDemo07.java +++ b/s-day03/src/com/inmind/set02/HashDemo07.java @@ -33,10 +33,10 @@ public class HashDemo07 { String s4 = "重地"; String s5 = "abc"; String s6 = new String("abc"); - System.out.println(s3.hashCode()); - System.out.println(s4.hashCode()); - System.out.println(s5.hashCode()); - System.out.println(s6.hashCode()); + System.out.println(s3.hashCode());//1179395 + System.out.println(s4.hashCode());//1179395 + System.out.println(s5.hashCode());//96354 + System.out.println(s6.hashCode());//96354 HashSet sets = new HashSet<>(); sets.add(s6); diff --git a/s-day03/src/com/inmind/set02/HashSetDemo08.java b/s-day03/src/com/inmind/set02/HashSetDemo08.java new file mode 100644 index 0000000..e08044c --- /dev/null +++ b/s-day03/src/com/inmind/set02/HashSetDemo08.java @@ -0,0 +1,27 @@ +package com.inmind.set02; + +import java.util.HashSet; +import java.util.Set; + +/* +HashSet存储自定义对象 +注意:我们保存数据时,先判断哈希值,如果不一样直接存,如果哈希值相同,还要使用equals方法判断内容 +是否相同,如果相同,就不存,不同则保存,所以必须重写hashCode和equals + */ +public class HashSetDemo08 { + public static void main(String[] args) { + Student s1 = new Student("刘备1", 20); + Student s2 = new Student("刘备2", 19); + Student s3 = new Student("刘备3", 21); + Student s4 = new Student("刘备3", 21); + Student s5 = new Student("刘备3", 21); + HashSet sets = new HashSet<>(); + sets.add(s3); + sets.add(s2); + sets.add(s1); + sets.add(s4); + sets.add(s5); + System.out.println(sets); + + } +} diff --git a/s-day03/src/com/inmind/set02/Student.java b/s-day03/src/com/inmind/set02/Student.java index a67dc29..c5d40e7 100644 --- a/s-day03/src/com/inmind/set02/Student.java +++ b/s-day03/src/com/inmind/set02/Student.java @@ -11,6 +11,14 @@ public class Student { this.age = age; } + @Override + public String toString() { + return "Student{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } + @Override public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) return false;