Я хочу создать три метода, которые я могу использовать для сортировки ArrayList, который считывает список стран из текстового файла по названию страны (в алфавитном порядке), количеству жителей и размеру страны.Я знаю, как сортировать их по именам, но я теряюсь в том, как сортировать по жителям и размерам.
Так устроен текстовый файл;название страны, жители, размер и капитал.
Belgien 10584534 30528 Bryssel
Bosnien 4590310 51129 Sarajevo
Cypern 854000 9250 Nicosia
Serbien 7276195 77474 Belgrad
Я создал метод, который читает файл и сортирует его с помощью Collections.sort (), но, как было сказано ранее, я не знаю, с чего начатьна двух других методах.
Мой код на данный момент:
public class Land {
static boolean valid = true;
public static boolean sortNames() {
File file = new File("europa.txt");
ArrayList<String> list = new ArrayList<String>();
try{
Scanner scan = new Scanner(file);
while(scan.hasNextLine()){
list.add(scan.nextLine());
}
scan.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();}
ListIterator iterator = list.listIterator();
Collections.sort(list);
System.out.println("Country: Inhabitants: Size: Capital: \n");
for (String element : list) {
System.out.println(element);
}
return valid;
}
public static void main(String[] args) {
System.out.print("\n" + sortNames());
}
}
Код, который сейчас печатается:
Country: Inhabitants: Size: Capital:
Albanien 3581655 28748 Tirana
Belgien 10584534 30528 Bryssel
Bosnien 4590310 51129 Sarajevo