博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TreeSet的两种排序方法
阅读量:6838 次
发布时间:2019-06-26

本文共 1469 字,大约阅读时间需要 4 分钟。

TreeSet的两种排序方法:自然排序和定义比较器,推荐使用定义比较器方法。

import java.util.*;class treeset {	public static void main(String[] args) 	{		TreeSet t = new TreeSet();//		TreeSet t = new TreeSet(new mycomparator());//第二种方法定义		t.add(new student("a1",18));		t.add(new student("a2",18));		t.add(new student("a1",18));		t.add(new student("a3",16));		t.add(new student("a4",25));		for(Iterator it = t.iterator();it.hasNext();)		{			student s = (student)it.next();			sop(s.getName()+","+s.getAge());		}	}	public static void sop(Object obj)	{		System.out.println(obj);	}}/*自然排序法 定义Comparable接口,覆盖CompareTo方法*/class student implements Comparable{	private String name;	private int age;	student(String name,int age)	{		this.name = name;		this.age = age;	}	public int compareTo(Object obj)	{		if(!(obj instanceof student))			throw new RuntimeException("不是学生");		student s = (student)obj;		if(this.age>s.age)			return 1;		if(this.age==s.age)			return this.name.compareTo(s.name);		return -1;	}	public String getName()	{		return name;	}	public int getAge()	{		return age;	}}/*定义比较器   当两种方法都存在时,以比较器为主。定义一个类,实现Comparator接口,覆盖compare方法*/class mycomparator implements Comparator{	public int compare(Object o1,Object o2)	{		student s1 = (student)o1;		student s2 = (student)o2;		int num = s1.getName().compareTo(s2.getName());		if(num ==0)		{			if(s1.getAge()>s2.getAge())				return 1;			if(s1.getAge()==s2.getAge())				return 0;			return -1;		}		return num;	}}

转载于:https://www.cnblogs.com/chaoyu/p/6436985.html

你可能感兴趣的文章
HDU 3466 01背包变形
查看>>
用鼠标滚轮做事件
查看>>
python - paramiko模块 修改logging提示为静默
查看>>
浅谈Linux的内存管理机制
查看>>
Linux中断概述
查看>>
ubuntu 安装RPM软件包
查看>>
controller的frame
查看>>
c++实现队列
查看>>
Linux系统介绍(二)文件系统结构
查看>>
面试题目(1)
查看>>
描述一下Spring框架的作用和优点?
查看>>
二十五:设计模式的总结
查看>>
【HDOJ】1058 Humble Numbers
查看>>
【原创翻译】The Case for the Reduced Instruction Set Computer
查看>>
使用asp.net MVC4中的Bundle遇到的问题及解决办法
查看>>
js 全选,反选
查看>>
Android与iOS:谁更适合HTML 5?
查看>>
网络报错:“The connection is not for this device.”
查看>>
Java基础-Java中的堆内存和离堆内存机制
查看>>
Lists
查看>>