Java Set

描述

使用 Set 集合,存储 Student 对象

题目

请定义一个存储 Student 类型的 HashSet 集合:

  • 存储 Student 对象到 Set 集合中,验证 Set 元素不可重复性。
  • 使用增强 for 遍历集合,获取每个 Student 对象,打印信息。

题目解决思路

  1. 创建集合存储数据。
  2. 创建 Student 对象,重写 toString 和 equals 方法。
  3. 存储对象到 Set 集合中,验证 Set 元素不可重复性。
  4. 使用增强 for 循环,遍历集合。

代码具体实现

学生类代码:

public class Student { private String name; private String sex; private int age; public Student() { } public Student(String name, String sex, int age) { this.name = name; this.sex = sex; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Student student = (Student) o; return age == student.age && Objects.equals(name, student.name) && Objects.equals(sex, student.sex); } @Override public int hashCode() { return Objects.hash(name, sex, age); } }

测试类代码:

public class Test { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)\n"); HashSet<Student> set = new HashSet<>(); Student stu1 = new Student("张三","男",20); Student stu2 = new Student("李四","男",21); Student stu3 = new Student("张三","男",20); // 存储元素 Collections.addAll(set,stu1,stu2,stu3); // 循环遍历集合 for (Student student : set){ System.out.println(student); } } }

运行结果如下图:

02_java set.png

以上案例存储对象到 Set 集合中,由此看出 Set 集合元素不可重复且无序。