From 1984c2db8cf18516bb8d20827d985fd8b9df8554 Mon Sep 17 00:00:00 2001 From: e0426051 Date: Fri, 18 Sep 2020 02:40:25 -0700 Subject: [PATCH] add lambda examples --- src/se/edu/inclass/Main.java | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 3781393..0635677 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; @@ -20,7 +22,10 @@ public static void main(String[] args) { printDeadlines(tasksData); System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); - + printDeadlinesUsingStreams(tasksData); + for (Task t: filterByString(tasksData,"11")) { + System.out.println(t); + } } private static int countDeadlines(ArrayList tasksData) { @@ -46,4 +51,21 @@ public static void printDeadlines(ArrayList tasksData) { } } } + + public static void printDeadlinesUsingStreams(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; + } + }