From 83f15cac09565a4616d48ec2cb950f95c1e84060 Mon Sep 17 00:00:00 2001 From: wangwaynesg Date: Fri, 18 Sep 2020 17:05:22 +0800 Subject: [PATCH] Add printing using streams --- src/se/edu/inclass/Main.java | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 3781393..c7df474 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -16,10 +16,12 @@ public static void main(String[] args) { DataManager dm = new DataManager("./data/data.txt"); ArrayList tasksData = dm.loadData(); - System.out.println("Printing deadlines"); - printDeadlines(tasksData); + printDeadlinesUsingStreams(tasksData); - System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); +// System.out.println("Printing deadlines"); +// printDeadlines(tasksData); + + System.out.println("Total number of deadlines: " + countDeadlinesUsingStreams(tasksData)); } @@ -39,6 +41,30 @@ public static void printData(ArrayList tasksData) { } } + public static void printDataUsingStreams(ArrayList tasksData) { + System.out.println("Printing data using streams"); + tasksData.stream() + .forEach(System.out::println); + } + + public static void printDeadlinesUsingStreams(ArrayList tasksData) { + System.out.println("Printing deadlines using streams"); + tasksData.stream() + .filter(t -> t instanceof Deadline) + .forEach(System.out::println); + } + + public static int countDeadlinesUsingStreams(ArrayList tasksData) { + System.out.println("Calculating count using streams"); + int count = 0; + + count = (int) tasksData.stream() + .filter(t -> t instanceof Deadline) + .count(); + + return count; + } + public static void printDeadlines(ArrayList tasksData) { for (Task t : tasksData) { if (t instanceof Deadline) {