A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package cn.itacst.p5.TreeSet.demo;

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

import cn.itacst.p5.comparator.ComparatorByLength;

/*
* 对字符串进行长度排序
*/
public class TreeSetTest {

        public static void main(String[] args) {

                TreeSet ts = new TreeSet(new ComparatorByLength());
               
                ts.add("aabuc");
                ts.add("nab");
                ts.add("cba");
                ts.add("wbcnuo");
                ts.add("hba");
                ts.add("gb");
               
                Iterator it = ts.iterator();
               
                while(it.hasNext()){
                        System.out.println(it.next());
                }
        }

}
package cn.itacst.p5.comparator;

import java.util.Comparator;

public class ComparatorByLength implements Comparator {

        @Override
        public int compare(Object o1, Object o2) {
               
                String p1 = (String)o1;
                String p2 = (String)o2;
               
                int temp = p1.length()-p2.length();
                return temp== 0 ? p1.compareTo(p2) : temp;
        }

}

2 个回复

正序浏览
一切为了技术分啊
回复 使用道具 举报
最重要的技术点就在:需要在TreeSet的构造函数中指定比较器对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马