用treeset对字符串进行长度排序
2011-08-21 23:04
696 查看
import java.util.*;
/*对字符串进行长度排序,使用treeset
思路:
字符串都是对象,可以先存储到集合中
还要对字符串进行排序,所以选择带排序的集合treeset
字符串本身具备自然排序,是按照字典顺序
但是和所需要求不符,这时就只能使用比较器进行排序*/
public class TreeSetTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeSet ts=new TreeSet(new CompareByLength());
ts.add("abc");
ts.add("z");
ts.add("nba");
ts.add("ko");
ts.add("cccccccc");
ts.add("aa");
Iterator it=ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class CompareByLength implements Comparator
{
public int compare(Object o1,Object o2)
{
String str1=(String)o1;
String str2=(String)o2;
int num=str1.length()-str2.length();
//int num=new Integer(str1.length()).compareTo(new Integer(str2.length()));
return num==0?str1.compareTo(str2):num;
}
}
run as:
z
aa
ko
abc
nba
cccccccc
本文出自 “蒲公英的梦想” 博客,请务必保留此出处http://asalinux.blog.51cto.com/2908563/645766
/*对字符串进行长度排序,使用treeset
思路:
字符串都是对象,可以先存储到集合中
还要对字符串进行排序,所以选择带排序的集合treeset
字符串本身具备自然排序,是按照字典顺序
但是和所需要求不符,这时就只能使用比较器进行排序*/
public class TreeSetTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeSet ts=new TreeSet(new CompareByLength());
ts.add("abc");
ts.add("z");
ts.add("nba");
ts.add("ko");
ts.add("cccccccc");
ts.add("aa");
Iterator it=ts.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
}
class CompareByLength implements Comparator
{
public int compare(Object o1,Object o2)
{
String str1=(String)o1;
String str2=(String)o2;
int num=str1.length()-str2.length();
//int num=new Integer(str1.length()).compareTo(new Integer(str2.length()));
return num==0?str1.compareTo(str2):num;
}
}
run as:
z
aa
ko
abc
nba
cccccccc
本文出自 “蒲公英的梦想” 博客,请务必保留此出处http://asalinux.blog.51cto.com/2908563/645766
相关文章推荐
- TreeSet按照字符串长度进行排序
- 对字符串数组中的M个字符串按长度由小到大进行排序
- 二级 长度为7的字符串除首位外其余五个字符按ascii码进行排序
- 将字符串按长度进行倒序排序——传入Collections.reverseOrder一个已有比较器
- 17-集合框架-25-常用对象API(集合框架-TreeSet集合练习-字符串长度排序)
- Collections练习之按照字符串长度进行排序
- C++ 字符串序列 进行长度 排序的同时,保持字典序排序
- 用TreeSet对指定字符串数组内容进行排序(1)
- 随机生成10条不重复长度为10以内的字符串,进行排序
- TreeSet基本应用:按照字符串长度排序
- perl按照字符串长度进行排序,sort函数的示例
- TreeSet重写比较器按照字符串长度排序
- 黑马程序员——TreeSet实现按字符串长度排序,复写Comparator()接口的compare()方法
- 《黑马程序员》 TreeSet集合练习之 按照字符串长度排序
- 集合框架--TreeSet集合练习之字符串长度排序
- 给set集合中的元素根据字符串长度进行排序
- 02_对N个长度最长可达到1000的数进行排序、对给定的一个字符串,找出有重复的字符,并给出其位置、输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序
- 按字符串长度排序——TreeSet练习
- 【php】将php中的数组元祖按照字符串长度进行排序
- TreeSet是可以对字符串进行排序 的, 因为字符串已经实现了Comparable接口。