HashSet
挺菜的
。。。依旧挺菜的
展开
-
详述HashSet类add方法(五)(Java:集合与泛型(十))
一、概述: 由前面的博客可知,当HashSet的泛型为自定义类(如Student)时,虽然我们重写了hashCode方法,但是并未重写equals方法,因此具有重复属性的对象依然会存储成功,本博客继续讨论重写了equals方法之后的情况: 二、代码分析: 1.在Student类中重写hashCode方法的基础上我们继续重写equals方法: package com.practice; public class Student { private String id; public Student原创 2020-05-13 12:40:17 · 165 阅读 · 0 评论 -
详述HashSet类add方法(四)(Java:集合与泛型(九))
一、概述: 上述博客中我们已经了解到:当HashSet的泛型为自定义类(Student类)时,当我们向其中添加重复的具有相同属性(id)的的对象时,由于地址的不同,会导致hashCode和hash值的不同,最终导致具有相同属性(id)的对象的添加成功 ,这显然不符合我们要求的id的唯一性原则。所以我们需要对hashCode方法进行重写。 二、实现方法及代码分析: 1.在自定义类中重写父类的hashCode方法,让其返回id的hashCode值: package com.practice; public c原创 2020-05-13 12:07:30 · 249 阅读 · 0 评论 -
详述HashSet类add方法(三)(Java:集合与泛型(八))
一、概述: 根据前面的博客中我们可知当泛型为String时,向HashSet对象中添加一个同已有元素相同的元素会添加失败,本博客继续深入讨论当泛型是自定义类时的情况。 二、代码分析: 1.首先我们创建一个自定义类Student: package com.practice; public class Student { private String id; public Student(String id) { this.id = id; } } 2.以该自定义类为泛型,创建HashSet对象原创 2020-05-13 11:33:29 · 264 阅读 · 0 评论 -
详述HashSet类add方法(二)(Java:集合与泛型(七))
一、概述: 我们之前已经讨论了向一个空的String类型的HashSet对象中添加一个名为“Tom”的元素,本文将讨论再向该对象中添加一个名为“Tom”的情况。 二、底层代码分析: import java.util.HashSet; public class Main { public static void main(String[] args) { HashSet<String> set = new HashSet<String>(); set.add("Tom原创 2020-05-12 21:37:23 · 148 阅读 · 0 评论 -
详述HashSet类add方法(一)(Java:集合与泛型(六))
一、概述 HashSet类中比较重要的方法就是add方法,为了能在以后的学习过程中正确的使用该add方法,我们需要对add方法的底层代码进行分析,本文分析向一个空的HashSet对象中存储值: 二、底层代码分析: 1.本文以泛型为String时举例:HashSet实例化时,实际上是创建了一个HashMap集合对象,该HashSet对象调用add方法存值时,实际上是像HashMap集合的key存值。 import java.util.HashSet; public class Main { public原创 2020-05-12 19:54:15 · 234 阅读 · 0 评论