最後にミドルネームやサフィックスがないことを確認してくださいJr
。
ファイルをリストに読み込みます。
Scanner s = new Scanner(new File("filepath"));
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext())
list.add(s.next());
s.close();
カスタム コンパレータを定義します。
static class LastNameComparator implements Comparator<String> {
public int compare(String b1, String b2) {
String[] arr1 = b1.split(" ");
String[] arr2 = b2.split(" ");
if (arr1.length > 1 && arr2.length > 1)
return arr1[arr1.length-1].compareTo(arr2[arr2.length-1]);
else
return 0;
}
}
カスタム コンパレータを使用してリストを並べ替えます。
Collections.sort(list, new LastNameComparator());
ファイルに書き戻します。
FileWriter writer = new FileWriter("outFile.txt");
for(String str: list) {
writer.write(str);
}
writer.close();