From 35ab3a7d549587f40a0a35ec0c74e6cc556456d1 Mon Sep 17 00:00:00 2001 From: zsk612 Date: Fri, 18 Sep 2020 17:00:27 +0800 Subject: [PATCH 1/2] Add methods using streams --- src/se/edu/inclass/Main.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 3781393..cb45985 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -21,6 +21,11 @@ public static void main(String[] args) { System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); + printDataUsingStreams(tasksData); + + printDeadlinesUsingStreams(tasksData); + + System.out.println("No of ddl: " + countDdlUsingStreams(tasksData)); } private static int countDeadlines(ArrayList tasksData) { @@ -33,12 +38,27 @@ private static int countDeadlines(ArrayList tasksData) { return count; } + public static int countDdlUsingStreams(ArrayList tasksData) { + System.out.println("Count using streams: "); + int count; + count = (int) tasksData.stream() + .filter((t) -> t instanceof Deadline) + .count(); + return count; + } + public static void printData(ArrayList tasksData) { for (Task t : tasksData) { System.out.println(t); } } + public static void printDataUsingStreams(ArrayList tasksData) { + System.out.println("Print using streams: "); + tasksData.stream() + .forEach(System.out::println); + } + public static void printDeadlines(ArrayList tasksData) { for (Task t : tasksData) { if (t instanceof Deadline) { @@ -46,4 +66,12 @@ public static void printDeadlines(ArrayList tasksData) { } } } + + public static void printDeadlinesUsingStreams(ArrayList tasksData) { + System.out.println("Print ddl using streams"); + tasksData.stream() + .filter((t) -> t instanceof Deadline) + .forEach(System.out::println); + } + } From 39675c6ebb9ca13c1f6a83281198ee509f89b5c0 Mon Sep 17 00:00:00 2001 From: zsk612 Date: Fri, 18 Sep 2020 17:40:23 +0800 Subject: [PATCH 2/2] Add lambdas examples --- src/se/edu/inclass/Main.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 3781393..d6bda0f 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -8,6 +8,8 @@ import java.util.ArrayList; import java.util.stream.Collectors; +import static java.util.stream.Collectors.toList; + public class Main { private TaskNameComparator taskNameComparator; @@ -21,6 +23,11 @@ public static void main(String[] args) { System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); + printDdlUsingStreams(tasksData); + + for(Task t: filterByString(tasksData, "11")) { + System.out.println(t); + } } private static int countDeadlines(ArrayList tasksData) { @@ -46,4 +53,20 @@ public static void printDeadlines(ArrayList tasksData) { } } } + + public static void printDdlUsingStreams(ArrayList tasksData) { + tasksData.stream() + .filter((s) -> s instanceof Deadline) + .sorted((a, b) -> a.getDescription().toLowerCase().compareTo(b.getDescription().toLowerCase())) + .forEach(System.out::println); + } + + public static ArrayList filterByString(ArrayList tasksData, String filterString) { + ArrayList filteredTaskList = (ArrayList) tasksData.stream() + .filter((s) -> s.getDescription().contains(filterString)) + .collect(toList()); + + return filteredTaskList; + } + }