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