首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中包含数字的排序字符串?

如何在Java中包含数字的排序字符串?
EN

Stack Overflow用户
提问于 2018-10-16 02:23:11
回答 2查看 0关注 0票数 0

我对字符串的默认比较器(在SortedSet中)有问题。问题是默认比较器没有排序包含数字的良好字符串,即:在集合中我有:

代码语言:javascript
复制
room1, room2, room100

自然排序应该如上所述,但在集合中我有:

代码语言:javascript
复制
room1, room100, room2

我知道它为什么但我不知道如何改变它。

EN

Stack Overflow用户

发布于 2018-10-16 10:58:20

这样试试:

代码语言:txt
复制
    List<String> list = Arrays.asList("room1", "room100", "room2");
    Collections.sort(list, new Comparator<String>()
    {
        @Override
        public int compare(String o1, String o2)
        {
            return new Integer(o1.replaceAll("room", ""))
                .compareTo(new Integer(o2.replaceAll("room", "")));
        }

    });
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档