Collections 1
Wed May 29 2024 09:26:42 GMT+0000 (Coordinated Universal Time)
Saved by @exam123
//collections //CallLog.java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; class CallLog implements Comparable<CallLog> { String name; String dialledNumber; int duration; String dialledDate; public CallLog(String name, String dialledNumber, int duration, String dialledDate) { this.name = name; this.dialledNumber = dialledNumber; this.duration = duration; this.dialledDate = dialledDate; } @Override public int compareTo(CallLog o) { return this.name.compareTo(o.name); } @Override public String toString() { return String.format("%s(+91-%s) %d Seconds", name, dialledNumber, duration); } } //Main.java// import java.util.ArrayList; import java.util.Collections; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException public class Main { public static void main(String[] args) { ArrayList<CallLog> logs = readCallLogsFromFile("weeklycall.csv"); Collections.sort(logs); Collections.reverse(logs); // Reverse the sorted list System.out.println("Call-Logs"); System.out.println("Caller Name Duration"); for (CallLog log : logs) { System.out.println(log); } } private static ArrayList<CallLog> readCallLogsFromFile(String filename) { ArrayList<CallLog> logs = new ArrayList<>(); try (BufferedReader br = new BufferedReader(new FileReader(filename))) { String line; while ((line = br.readLine()) != null) { String[] parts = line.split(","); String name = parts[0]; String dialledNumber = parts[1]; int duration = Integer.parseInt(parts[2]); String dialledDate = parts[3]; logs.add(new CallLog(name, dialledNumber, duration, dialledDate)); } } catch (IOException e) { e.printStackTrace(); } return logs; } }
Comments