如何实现Java HashSet集合存储遍历学生对象

  介绍

本篇内容主要讲解”如何实现Java HashSet集合存储遍历学生对象”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”如何实现Java HashSet集合存储遍历学生对象”吧!

如何实现Java HashSet集合存储遍历学生对象

由设置于集合是不存储重复元素的,所以在做此案例时,如果我正常添加一个重复元素是什么结果呢?

public  class  HashSetDemo  {   public 才能;static  void  main (String [], args), {   ,,,//创建HashSet集合对象   ,,,HashSet, hashSet =, new  HashSet ();      ,,,//创建学生对象   ,,,Student  s1 =, new 学生(“爱学习“,,21);   ,,,Student  s2 =, new 学生(“爱Java",, 22);   ,,,Student  s3 =, new 学生(“坚持不懈,,,23);      ,,,Student  s4 =, new 学生(“爱Java",, 22);      ,,,//把学生添加到集合   ,,,hashSet.add (s1);   ,,,hashSet.add (s2);   ,,,hashSet.add (s3);   ,,,hashSet.add (s4);      ,,,//遍历集合(增强的循环)   ,,,for  (Student  s : hashSet), {   ,,,,,System.out.println (s.getName (), +,,,,, +, s.getAge ());   ,,,}   ,,}   }

运行结果:

如何实现Java HashSet集合存储遍历学生对象

通过运行结果,我们发现,重复的元素仍然被添加进的去,是什么原因呢?根据源码分析和HashSet底层数据结构可以知道,如果两个对象的哈希值相同(hashCode方法),并且对象的内容也相同(=方法),是不会存储在哈希表的,所以我们需要在被存储的对象类中重写hashCode方法和=方法,来解决添加了重复元素的问题。

在对象类中重写hashCode方法和=方法后(自动生成即可)运行上面的代码,运行结果:

如何实现Java HashSet集合存储遍历学生对象

可见,重复的元素未被添加到集合。

到此,相信大家对“如何实现Java HashSet集合存储遍历学生对象”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

如何实现Java HashSet集合存储遍历学生对象