【问题标题】:sorting an arraylist of string with numerical values in java在java中对带有数值的字符串数组列表进行排序
【发布时间】:2013-03-08 05:13:43
【问题描述】:

我需要对包含数值的字符串数组列表进行排序。 数组列表如下

A\B=5\C=56,
A\B=2\C=1,
A\B=2\C=25,
D\E=1,
D\E=3\F=5,
D\E=3\F=4 
etc... 

我需要的排序顺序是:

A\B=2\C=1
A\B=2\C=25
A\B=5\C=56
D\E=1
D\E=3\F=4
D\E=3\F=5

【问题讨论】:

  • A\B=5\C=56是什么意思

标签: java sorting arraylist


【解决方案1】:

您需要实现一个Comparator<String>,它可以确定任意两个字符串的大于/小于行为。

Then, you can sort it via Collections.sort(list, myNewComparator);

【讨论】:

    【解决方案2】:
    List<String> list = new ArrayList<String>();
            list.add("A\\B=5\\C=56");
            list.add("A\\B=2\\C=1");
            list.add("A\\B=2\\C=25");
            list.add("D\\E=1");
            list.add("D\\E=3\\F=5");
            list.add("D\\E=3\\F=4");
            Collections.sort(list);
            System.out.println(list);
    

    如果您想自定义排序,请尝试查看之前发布的答案。

    【讨论】:

      【解决方案3】:

      使用Collections.sort,但我认为,您必须编写自己的比较器。

      【讨论】:

        猜你喜欢
        • 2017-09-15
        • 2016-09-13
        • 1970-01-01
        • 2017-09-26
        • 1970-01-01
        • 2014-08-02
        • 1970-01-01
        相关资源
        最近更新 更多