TreeSet练习题
2016-04-05 15:10
489 查看
1.存储不同长度的不重复的字符串,将其按照长度进行排序:
ComparatorByLength类:
2.对多个重复的不同长度的字符串按照长度进行排序:
package collectionTest; import java.util.*; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub sortStringByLength(); sortStringByLength2(); } public static void sortStringByLength() { // TODO Auto-generated method stub //不重复字符串,按长度进行排序 Set set = new TreeSet(new ComparatorByLength()); set.add("aaa"); set.add("zzzzzzzzzzs"); set.add("zz"); set.add("zzzz"); for(Object obj :set){ System.out.println(obj); } } }
ComparatorByLength类:
package collectionTest; import java.util.Comparator; public class ComparatorByLength implements Comparator { //实现了比较器接口,并重写了compare方法 @Override public int compare(Object o1, Object o2) { // TODO Auto-generated method stub String s1 = (String)o1; String s2 = (String)o2; int temp = s1.length()-s2.length(); return temp==0?s1.compareTo(s2):temp; } }
2.对多个重复的不同长度的字符串按照长度进行排序:
public static void sortStringByLength2() { // TODO Auto-generated method stub String[] str = { "hellowolrd", "nba", "cbaaa", "daddy", "hellowolrd","nba", "cbaaa", "daddy" }; //自然排序可以使用String类中的compareTo方法 //但现在需要长度排序,这个时候需要比较器; //定义一个按照长度比较的比较器 // 用嵌套循环来排序 Comparator comp = new ComparatorByLength(); for (int x = 0; x < str.length - 1; x++) { for (int y = x + 1; y < str.length; y++) { //if (str[x].compareTo(str[y]) > 0) { 自然排序 if(comp.compare(str[x], str[y])>0){ swap(str, x, y); } } } for(String a :str){ System.out.println(a); } } private static void swap(String[] str, int x, int y) { // TODO Auto-generated method stub String temp = str[x]; str[x] = str[y]; str[y] = temp; }
相关文章推荐
- Android listview嵌套viewpager滑动冲突问题
- mybaits批量插入
- linux 改变系统时间
- 递归最大公约数
- GoF——状态模式
- JAVA HTTPClient PostMethod 中文乱码问题解决方法
- How a Cursor becomes Bind Aware?
- 如何安装linux系统
- c++中的delete []异常
- Xamarin Android Activity全屏的两种方式
- 大图片随浏览器水平居中显示
- 博客园MarkDown编辑器测试
- 字符编码:ASCII,Unicode和UTF-8
- C#List泛型集合
- Fishnet(POJ_1408)
- 常用js函数
- Android安全机制
- VR头盔产品镜片评测
- mysql连接失败access denied for user root @localhost
- Log4j配置详细说明