关闭

TreeSet按照字符串的长度排序(用比较器)

560人阅读 评论(0) 收藏 举报
分类:
/*
 按照字符串的长度排序。
 字符串本身具备比较性,但是它的比较方式不是所需要的。
 这时就只能使用比较器。
 */

import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;


public class TreeSetExercise {
	public static void main(String[] args) {
		TreeSet ts=new TreeSet(new StringLengthComparator());
		ts.add("asdv");
		ts.add("asdwqd");
		ts.add("asda");
		ts.add("as");
		ts.add("asdqwwqdq");
		ts.add("asdasdsadasdas");
		
		Iterator it=ts.iterator();
		System.out.println("按照字符串长度排序的结果为:");
		while(it.hasNext())
		{
			System.out.println(it.next());
		}
	}
}
//定义比较器
class StringLengthComparator implements Comparator
{
	@Override
	public int compare(Object o1, Object o2) {
		// TODO 自动生成的方法存根
		String s1=(String)o1;
		String s2=(String)o2;
		int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));
		if(num==0)
		{
			return s1.compareTo(s2);
		}
		return num;
	}
}


结果:


5
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:191494次
    • 积分:6263
    • 等级:
    • 排名:第3928名
    • 原创:337篇
    • 转载:6篇
    • 译文:0篇
    • 评论:156条
    博客专栏
    文章分类
    推荐博客
    最新评论