当前位置:  开发笔记 > 编程语言 > 正文

按每个字符串中的逗号后的值按字母顺序对ArrayList进行排序

如何解决《按每个字符串中的逗号后的值按字母顺序对ArrayList进行排序》经验,为你挑选了1个好方法。

我有一个包含字符串的ArrayList,如下所示:

第1项:一些文字,Annabelle

第2项:有些文字,詹姆斯

第3项:一些文字,康纳

我想按照每个String中逗号后的值按字母顺序对ArrayList进行排序.

我怎样才能做到这一点?

    ArrayList lineList = new ArrayList<>();

    // New BufferedReader.
    BufferedReader reader = new BufferedReader(new FileReader(
            file));

    // Add all lines from file to ArrayList.
    while (true) {
        String line = reader.readLine();
        if (line == null) {
            break;
        }
        lineList.add(line);
    }

    // Close it.
    reader.close();

    // Print each line.
    for (String line : lineList) {
        System.out.println(line);
    }

jesper_bk.. 5

使用ComparatorCollections.sort()方法.

例如:

Collections.sort(lineList, new Comparator{
    public int compare(String str1, String str2) {
        String actual1 = str1.split(",")[1];
        String actual2 = str2.split(",")[1];

        return actual1.compare(actual2);
    }
});

您可能需要某种方法来确保实际提取字符串的正确部分,以防有零个或多个逗号.例如,您可以substring()lastIndexOf()提到的IQV 结合使用.



1> jesper_bk..:

使用ComparatorCollections.sort()方法.

例如:

Collections.sort(lineList, new Comparator{
    public int compare(String str1, String str2) {
        String actual1 = str1.split(",")[1];
        String actual2 = str2.split(",")[1];

        return actual1.compare(actual2);
    }
});

您可能需要某种方法来确保实际提取字符串的正确部分,以防有零个或多个逗号.例如,您可以substring()lastIndexOf()提到的IQV 结合使用.


"你可能想要某种方式来确保......"或者如果唯一的逗号在最后,例如`Foo,`.
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有