Naz*_*d12 0 java arrays string arraylist
我有一个包含字符串的ArrayList,如下所示:
我想按照每个String中逗号后的值按字母顺序对ArrayList进行排序.
我怎样才能做到这一点?
ArrayList<String> 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);
}
Run Code Online (Sandbox Code Playgroud)
使用Comparator与Collections.sort()方法.
例如:
Collections.sort(lineList, new Comparator<String>{
public int compare(String str1, String str2) {
String actual1 = str1.split(",")[1];
String actual2 = str2.split(",")[1];
return actual1.compare(actual2);
}
});
Run Code Online (Sandbox Code Playgroud)
您可能需要某种方法来确保实际提取字符串的正确部分,以防有零个或多个逗号.例如,您可以substring()与lastIndexOf()提到的IQV 结合使用.