Коллекции. Работа с файлами - Java

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, было дано задание: "

Подготовить исходные данные в текстовом файле. Ввести данные из файла в ArrayList с использованием классов. Вывести данные из файла на экран в виде таблицы. Выполнить вычисления, вывести результат на экран и записать в новый файл.

" (

Свой вариант прикреплен картинкой

) Программу написала (даже работает!), единственная загвоздка - не понимаю, как сделать сортировку массива (в самом конце) именно из файла... То есть не сделала самое основное - "

определить двух самых высоких студентов

". Помогите, пожалуйста!
package Lab22; 
 
import java.io.BufferedReader; 
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList; 
 
    public class ex22 { 
    public static void main(String[] args) throws IOException { 
        ArrayList <Svedenia> arr = new ArrayList <Svedenia> (); 
        BufferedReader in = null; 
        try { 
            in = new BufferedReader(new FileReader("C:\\Users\\asus\\Downloads\\in.txt"));
            String s; 
            int n = 0; 
            System.out.println("___________________"); 
            while((s = in.readLine()) != null) { 
                int p = s.indexOf(","); 
                Svedenia sved = new Svedenia(s.substring(0, p), Double.parseDouble(s.substring(p+1))); 
                arr.add(sved); 
                
                System.out.printf("|%20s%10.2f|\n", 
                        arr.get(n).getName(), 
                        arr.get(n).getResult()); 
                n++;
                } 
            }
        finally { 
            in.close(); 
            } 
        
        FileWriter out = new FileWriter("C:\\Users\\asus\\Downloads\\out.txt"); 
        
        System.out.println("Фамилия: "); 
    
        double max=0;
        for(Svedenia entry:arr) {           
            if(entry.getResult() > max) { 
                //Где-то тут должна быть сортировка массива
                max=entry.getResult();
                System.out.println(entry.getResult() + ", " + entry.getName()); 
                out.write(entry.getResult() + ", " + entry.getName() + "\r\n"); 
 
                }
            } 
        out.close(); 
        } 
    }
package Lab22; 
 
public class Svedenia { 
 
private String name; 
private double result;
 
public Svedenia(String n, double r) { 
name = n; 
result = r; 
} 
 
public String getName() { 
return name; 
} 
public double getResult() { 
return result; 
} 
 
}

Решение задачи: «Коллекции. Работа с файлами»

textual
Листинг программы
List<Class> s = new ArrayList<>();
        s.add(String.class);
        s.add(Integer.class);
        s.sort(comparing(Class::getName));
        System.out.println(s);
    }

Оцени полезность:

6   голосов , оценка 4.333 из 5