我有一个包含字符串的ArrayList,如下所示:
第1项:一些文字,Annabelle
第2项:有些文字,詹姆斯
第3项:一些文字,康纳
我想按照每个String中逗号后的值按字母顺序对ArrayList进行排序.
我怎样才能做到这一点?
ArrayListlineList = 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
使用Comparator
与Collections.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 结合使用.
使用Comparator
与Collections.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 结合使用.