1. 程式人生 > >TreeSet集合的一個比較器排序去重案例

TreeSet集合的一個比較器排序去重案例

Student基礎資訊

package TreeSetDemo;

public class Student implements Comparable<Student>{
    //學生姓名
    private String name;
    //學生年齡
    private int age;

    //無參構造
    public Student() {
        // TODO Auto-generated constructor stub
    }

    // 帶參構造
    public Student(String name, int age) {
        super();
        this
.name = name; this.age = age; } //getXxx() setXxx()方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public
int compareTo(Student s) { //按照年齡排序,主要條件 int num = this.age- s.age; //如果年齡相同,比較姓名,如果姓名相同的話,才是同一個物件 int num1 = num == 0 ? this.name.compareTo(s.name) : num; return num1; } }

TreeSetDemo類

package TreeSetDemo;

import java.util.TreeSet;

public class TreeSetDemo1 {
    public
static void main(String[] args) { //建立集合物件 TreeSet<Student> ts = new TreeSet<Student>(); //建立元素 Student s1 = new Student("hello", 27); Student s2 = new Student("world", 66); Student s3 = new Student("hello", 27); Student s4 = new Student("java", 63); Student s5 = new Student("world", 65); Student s6 = new Student("eclipse", 99); //新增元素 ts.add(s1); ts.add(s2); ts.add(s3); ts.add(s4); ts.add(s5); ts.add(s6); //遍歷 for(Student s : ts){ System.out.println(s.getName() + "-------" + s.getAge()); } } }