diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index aa9516c..5dd050a 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -17,10 +17,14 @@ public static void main(String[] args) { ArrayList tasksData = dm.loadData(); printData(tasksData); - System.out.println(); - System.out.println("Printing deadlines"); - printDeadlines(tasksData); - +// System.out.println(); +// System.out.println("Printing deadlines"); +// printDeadlines(tasksData); +// +// System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); +// printData(tasksData); +// printDataUSingStreams(tasksData); + printDeadlinesUsingStream(tasksData); System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); } @@ -34,18 +38,37 @@ 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 printDeadlinesUsingStream(ArrayList tasks) { + System.out.println("Printing deadlines using streams"); + tasks.stream() + .filter(t -> t instanceof Deadline) //filter takes a predicate + .forEach(System.out::println); + } }