diff --git a/.gitignore b/.gitignore index 4c1a033..45174cc 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* .idea/ +TaskS.iml diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index aa9516c..876afe1 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -5,6 +5,7 @@ import se.edu.inclass.task.Task; import se.edu.inclass.task.TaskNameComparator; +import java.lang.reflect.Array; import java.util.ArrayList; public class Main { @@ -16,13 +17,17 @@ public static void main(String[] args) { DataManager dm = new DataManager("./data/data.txt"); ArrayList tasksData = dm.loadData(); - printData(tasksData); + System.out.println(); System.out.println("Printing deadlines"); printDeadlines(tasksData); + printDeadlinesUsingStreams(tasksData); - System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); + System.out.println("Total number of deadlines counted" + + " using streams: " + countDeadlinesUsingStream(tasksData)); +// printData(tasksData); +// printDataUsingStreams(tasksData); } private static int countDeadlines(ArrayList tasksData) { @@ -34,18 +39,39 @@ private static int countDeadlines(ArrayList tasksData) { } return count; } + private static int countDeadlinesUsingStream(ArrayList tasks) { + int count = (int) tasks.stream() + .filter(t -> t instanceof Deadline) + .count(); + return count; + } public static void printData(ArrayList tasksData) { + System.out.println("Printing data using iteration"); for (Task t : tasksData) { System.out.println(t); } } + public static void printDataUsingStreams(ArrayList tasks) { + System.out.println("Printing data using streams"); + tasks.stream() // convert to stream + .forEach(System.out::println); + } + public static void printDeadlines(ArrayList tasksData) { + System.out.println("Printing deadline using iteration"); for (Task t : tasksData) { if (t instanceof Deadline) { System.out.println(t); } } } + + public static void printDeadlinesUsingStreams(ArrayList tasks) { + System.out.println("Printing deadline using streams"); + tasks.stream() + .filter(t -> t instanceof Deadline) + .forEach(System.out::println); + } } diff --git a/src/se/edu/inclass/data/DataManager.java b/src/se/edu/inclass/data/DataManager.java index c3f1030..01cde20 100644 --- a/src/se/edu/inclass/data/DataManager.java +++ b/src/se/edu/inclass/data/DataManager.java @@ -57,7 +57,7 @@ public ArrayList loadData() { ArrayList dataItems = readFile(); taskList = parse(dataItems); } catch (IOException e) { - e.printStackTrace(); + System.out.println("File access issue. Please check.");; } return taskList; }