JASE
JASE
andy_wuchu 发表于8个月前
JASE
  • 发表于 8个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: TreeSet使用

package com.bjpowernode.test01_set2_Comparable;

public class Student implements Comparable<Student> { private String name; private int age; 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; } public Student(String name, int age) { super(); this.name = name; this.age = age; } public Student() { super();

}

/*
 * 当前对象与参数对象相同时返回 : 0
 * 当前对象 大于参数对象 时: 1  正数
 *  当前对象 小于参数对象 时: -1 负数
 */


public int compareTo(Student s) {
	//按年龄排序,如果年龄相同,按姓名排序
	if(this.age == s.age){
		//按姓名排序, 调用字符串的compareTo
		return this.name.compareTo(s.name);
	}
	return this.age -s.age;
}

}


package com.bjpowernode.test01_set2_Comparable;

import java.util.TreeSet; /*

  • TreeSet中存放元素,默认按自然排序的方式去除重复项,并进行排序的
  • String和8种包装类中都指定自然排序方法:实现java.lang.Comparable接口,重写compareTo方法
  • 自定义的类放入TreeSet时,也实现实现java.lang.Comparable接口,重写compareTo方法 */ public class StudentTreeSetTest { public static void main(String[] args) { TreeSet<Student> tree = new TreeSet<>(); Student s = new Student("Mike", 18); Student s1 = new Student("Join", 28); Student s3 = new Student("Join", 18); Student s4 = new Student("Smith", 18); tree.add(s); tree.add(s1); tree.add(s3); tree.add(s4); System.out.println(tree.size()); System.out.println("姓名\t年龄"); for (Student stu : tree) { System.out.println(stu.getName()+"\t"+stu.getAge()); } } }
共有 人打赏支持
粉丝 0
博文 2
码字总数 451
×
andy_wuchu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: