如何实现JavaHashSet集合存储遍历学生对象-创新互联

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

创新互联建站是一家专注于成都做网站、网站设计与策划设计,龙文网站建设哪家好?创新互联建站做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:龙文等地区。龙文做网站价格咨询:13518219792

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

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

public class HashSetDemo {
  public static void main(String[] args) {
    //创建HashSet集合对象
    HashSet hashSet = new HashSet();

    //创建学生对象
    Student s1 = new Student("爱学习", 21);
    Student s2 = new Student("爱Java", 22);
    Student s3 = new Student("坚持不懈", 23);

    Student s4 = new Student("爱Java", 22);

    //把学生添加到集合
    hashSet.add(s1);
    hashSet.add(s2);
    hashSet.add(s3);
    hashSet.add(s4);

    //遍历集合(增强for循环)
    for (Student s : hashSet) {
      System.out.println(s.getName() + "," + s.getAge());
    }
  }
}

运行结果:

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

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

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

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

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

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

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:如何实现JavaHashSet集合存储遍历学生对象-创新互联
标题URL:http://pwwzsj.com/article/dhjeig.html