From 606ea2f4907924bcfc4e24e9d2eb1fb5c3d3b98c Mon Sep 17 00:00:00 2001 From: wangwaynesg Date: Fri, 18 Sep 2020 17:40:23 +0800 Subject: [PATCH 1/2] Add lambda examples --- src/se/edu/inclass/Main.java | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 3781393..875c9bc 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; @@ -16,10 +18,15 @@ public static void main(String[] args) { DataManager dm = new DataManager("./data/data.txt"); ArrayList tasksData = dm.loadData(); - System.out.println("Printing deadlines"); - printDeadlines(tasksData); +// System.out.println("Printing deadlines"); +// printDeadlines(tasksData); +// +// System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); + printDeadlinesUsingStreams(tasksData); + for (Task t : filterByString(tasksData, "11")) { + System.out.println(t); + } - System.out.println("Total number of deadlines: " + countDeadlines(tasksData)); } @@ -46,4 +53,19 @@ 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; + } } From 37afb28a73221f45290f00c34f39e606ab1361f8 Mon Sep 17 00:00:00 2001 From: wangwaynesg Date: Fri, 18 Sep 2020 18:08:13 +0800 Subject: [PATCH 2/2] Add test --- src/se/edu/inclass/Main.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/se/edu/inclass/Main.java b/src/se/edu/inclass/Main.java index 875c9bc..a6325d6 100644 --- a/src/se/edu/inclass/Main.java +++ b/src/se/edu/inclass/Main.java @@ -68,4 +68,6 @@ public static ArrayList filterByString(ArrayList tasksData, String f return filteredTaskList; } + + //test }