Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 67 additions & 39 deletions src/se/edu/inclass/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,43 +9,71 @@

public class Main {

private TaskNameComparator taskNameComparator;

public static void main(String[] args) {
System.out.println("Welcome to Task (stream) manager\n");
DataManager dm = new DataManager("./data/data.txt");
ArrayList<Task> tasksData = dm.loadData();

printData(tasksData);
System.out.println();
System.out.println("Printing deadlines");
printDeadlines(tasksData);

System.out.println("Total number of deadlines: " + countDeadlines(tasksData));

}

private static int countDeadlines(ArrayList<Task> tasksData) {
int count = 0;
for (Task t : tasksData) {
if (t instanceof Deadline) {
count++;
}
}
return count;
}

public static void printData(ArrayList<Task> tasksData) {
for (Task t : tasksData) {
System.out.println(t);
}
}

public static void printDeadlines(ArrayList<Task> tasksData) {
for (Task t : tasksData) {
if (t instanceof Deadline) {
System.out.println(t);
}
}
}
private TaskNameComparator taskNameComparator;

public static void main(String[] args) {
System.out.println("Welcome to Task (stream) manager\n");
DataManager dm = new DataManager("./data/data.txt"); // data file
ArrayList<Task> tasksData = dm.loadData();//passing the file and put data in array list


System.out.println();
System.out.println("Printing deadlines");
printDeadlines(tasksData);

//System.out.println("Total number of deadlines: " + countDeadlines(tasksData));
System.out.println("Total number of deadlines using stream: " + countDeadlinesUsingStream(tasksData));
printData(tasksData);
printDataUsingStreams(tasksData);

}

private static int countDeadlines(ArrayList<Task> tasksData) {
int count = 0;
for (Task t : tasksData) {
if (t instanceof Deadline) {
count++;
}
}
return count;
}

private static int countDeadlinesUsingStream(ArrayList<Task> tasks){
int count = (int)tasks.stream() //instanceof Deadline - this is the checking point
.filter(t -> t instanceof Deadline)
.count();
return count;
}
public static void printData(ArrayList<Task> tasksData) {
System.out.println("Printing data using iteration");
for (Task t : tasksData) {
System.out.println(t);
}
//System.out.println(); sout
}

public static void printDataUsingStreams(ArrayList<Task> tasks) {
System.out.println("Printing data using stream");
tasks.stream()// convert in stream
.forEach(System.out::println); //referring the method and refer all the methods in the stream

}

public static void printDeadlines(ArrayList<Task> tasksData) {
System.out.println("print ddl using it.");
for (Task t : tasksData) {
if (t instanceof Deadline) {
System.out.println(t);
}
}
}

public static void printDeadlineUsingStream(ArrayList<Task> tasks){
System.out.println("Print DDL using stream");
tasks.stream() //instanceof Deadline - this is the checking point
.filter(t -> t instanceof Deadline) //predicate - boolean output //lamda function
.forEach(System.out::println);
}
}


7 changes: 4 additions & 3 deletions src/se/edu/inclass/data/DataManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public class DataManager {

public DataManager(String fileName) {
dataFile = new File(fileName);
}
} //file class

public File getDataFile() {
return dataFile;
Expand Down Expand Up @@ -45,9 +45,10 @@ private ArrayList readFile() throws IOException {
if (dataFile.length() == 0) {
System.out.println("empty file");
throw new IOException();
//
}
ArrayList<String> dataItems = (ArrayList) Files.readAllLines(dataFile.toPath(), Charset.defaultCharset());

//toPath() - get the file path // get all the line and close file
return dataItems;
}

Expand All @@ -57,7 +58,7 @@ public ArrayList<Task> loadData() {
ArrayList<String> dataItems = readFile();
taskList = parse(dataItems);
} catch (IOException e) {
e.printStackTrace();
System.out.println("File access issues.");
}
return taskList;
}
Expand Down