diff --git a/src/main/java/org/future/code/homework/HomeWork7.java b/src/main/java/org/future/code/homework/HomeWork7.java index b09167c..8892ae5 100644 --- a/src/main/java/org/future/code/homework/HomeWork7.java +++ b/src/main/java/org/future/code/homework/HomeWork7.java @@ -25,40 +25,62 @@ public class HomeWork7 { * Метод должен вернуть список людей с фамилией или именем King */ public static List methodOne(List names) { - // Твой код здесь - return Collections.emptyList(); + List listOne = names.stream() + .filter(s -> s.contains("King")) + .collect(Collectors.toList()); + return listOne; + } /** * Метод должен вернуть список уникальных фамилий (2 позиция в строке) */ public static List methodTwo(List names) { - // Твой код здесь - return Collections.emptyList(); + List listTwo = names.stream() + .map(s->s.substring(s.indexOf(" ")+1)) + .distinct() + .collect(Collectors.toList()); + return listTwo; + } /** * Метод должен вернуть список уникальных имен, начинающихся с L */ public static List methodThree(List names) { - // Твой код здесь - return Collections.emptyList(); + List listThree = names.stream() + .map(s->s.substring(+0, s.indexOf(" "))) + .filter(s->s.startsWith("L")) + .distinct() + .collect(Collectors.toList()); + return listThree; } /** * Метод должен вернуть список уникальных фамилий, начинающихся с W, отсортированный по алфавиту */ public static List methodFour(List names) { - // Твой код здесь - return Collections.emptyList(); + List listFour = names.stream() + .map(s->s.substring(s.indexOf(" ")+1)) + .filter(s->s.startsWith("W")) + .distinct() + .sorted() + .collect(Collectors.toList()); + return listFour; } /** * Метод должен вернуть количество имен длинее чем 6 символов */ public static Integer methodFive(List names) { + public static Integer methodFive(List names) { // Твой код здесь - return 0; + long counterFive = names.stream() + .map(s->s.substring(+0, s.indexOf(" "))) + .filter(s->s.length()>6) + .distinct() + .count(); + return (int) counterFive; } /** @@ -66,8 +88,17 @@ public static Integer methodFive(List names) { * P. S. Самостоятельно почитайте про метод flatMap() */ public static Integer methodSix(List names) { - // Твой код здесь - return 0; + long namesC = names.stream() + .map(s -> s.substring(0, s.indexOf(" ")-1)) + .filter(s -> s.length()>5) + .distinct() + .count(); + long surnameC = names.stream() + .map(s -> s.substring(s.indexOf(" "))) + .filter(s->s.length()>5) + .distinct() + .count(); + return (int) (surnameC+namesC); } /** @@ -75,8 +106,14 @@ public static Integer methodSix(List names) { * например "David Z.". Список должен быть отсортирован по алфавиту и состоять только из уникальных значений */ public static List methodSeven(List names) { - // Твой код здесь - return Collections.emptyList(); + List listSeven = names.stream() + .map(s -> s.substring(+0, s.indexOf(" ")+2)) + .filter(s -> (s.endsWith("K")) || (s.endsWith("S"))) + .map(s -> s.concat(".")) + .distinct() + .sorted() + .collect(Collectors.toList()); + return listSeven; } public static void main(String[] args) {