Java中用TreeSet方法排序字符型数字怎么排序-问答-阿里云开发者社区-阿里云

开发者社区> 蛮大人123> 正文

Java中用TreeSet方法排序字符型数字怎么排序

2016-06-08 16:03:23 3504 1
public class Demo implements Comparable{
//String str;
String str;
/*public Demo(){
}*/
public Demo(String str){
    this.str=str;
}
public void getStr(String str){
    this.str=str;
}
public String setStr(){
    return str;
}
//重写toString()方法
public String toString(){
    return  " "+this.str;
}
//比较规则
public int compareTo(Object arg0) {
    return 1;
}
}
public class SortByNum implements Comparator{
public int compare(Object arg0, Object arg1) {
    Demo d1=(Demo)arg0;
    Demo d2=(Demo)arg1;
    int temp = 0;
    String str1=d1.toString();//转换成字符串
    String str2=d2.toString();//转换成字符串
    char[] ch1=str1.toCharArray();//转换成数组
    char[] ch2=str2.toCharArray();//转换成数组
    for(int i=0;i<ch1.length;i++){
        for(int j=0;j<ch2.length;j++){
            temp=d1.compareTo(d2);
        }
    }
    //int temp=d1.compareTo(d2);
    return  temp;
}
}
public class TreeSets {
public static void main(String[] args) {
//Demo demo=new Demo();
//创建一个TreeSet集合
TreeSet tree=new TreeSet(new SortByNum());
//添加字符
tree.add(new Demo("15"));
tree.add(new Demo("19"));
tree.add(new Demo("16"));
tree.add(new Demo("99"));
System.out.println(tree);
}
}

麻烦大家看一下,就是不知道怎么做,例如:String str="8 10 15 2 5 7";输出"2 5 7 8 10 15"

取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 19:32:11
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    
    class Demo implements Comparable{
        String str;
    
        public Demo(String str){
            this.str=str;
        }
        public void setStr(String str){
            this.str=str;
        }
        public String getStr(){
            return str;
        }
        //重写toString()方法
        public String toString(){
            return  " "+this.str;
        }
        //比较规则
        public int compareTo(Object arg0) {
            Demo d2 = (Demo)arg0;
            if (d2.getStr().length() != str.length()) return str.length() - d2.getStr().length();
            return str.compareTo(d2.getStr());
        }
    }
    
    class SortByNum implements Comparator{
    
        public int compare(Object arg0, Object arg1) {
            Demo d1=(Demo)arg0;
            Demo d2=(Demo)arg1;
            return d1.compareTo(d2);
        }
    }
    
    /* Name of the class has to be "Main" only if the class is public. */
    class Ideone
    {
        public static void main (String[] args) throws java.lang.Exception
        {
            // your code goes here
            //创建一个TreeSet集合
            TreeSet tree=new TreeSet(new SortByNum());
            //添加字符
            String s = "8 10 15 2 5 7";
            for (String s1 : s.split(" "))
                tree.add(new Demo(s1));
            System.out.println(tree);
        }
    }
    0 0
相关问答

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144251浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 222952浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 333815浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 142128浏览量 回答数 13

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 292249浏览量 回答数 110

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 146757浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 643047浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 145590浏览量 回答数 31

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 135474浏览量 回答数 42

10

回答

[@墨玖tao][¥20]为什么流式处理框架都是 java 写成的,JVM 是不是在流和批存在着特殊优势。还有分布式资源调度,感觉Mesos 的成长速度跟不上 Yarn。这是为什么?

管理贝贝 2018-10-23 13:18:03 136116浏览量 回答数 10
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载