tel-ran-de / BE12-Basics

Java Basics Group 12
1 stars 6 forks source link

2020-10-15 Stream API #8

Open sergeylukichev opened 4 years ago

sergeylukichev commented 4 years ago
  1. Есть два класса
public class Person {
  String name;
  int age;
  Address address;
}

public class Address {
  String street;
  int houseNumber;
}

Нужно написать функцию, которая по списку persons вернет список адресов тех людей, чей возраст больше 17 лет.

  1. Есть список имен, нужно написать функцию, которая вернет список имен без дупликатов.

  2. Есть список людей, нужно написать функцию, которая вернет мапу, где ключом является возраст, а значением список людей этого возраста.

  3. Есть два класса:

    public class BankAccount {
    String IBANN;
    Person owner;
    }
    public class Person {
    String name;
    }

    нужно написать функцию, которая возвращает мапу, где значением является Person, а значением - список его банковских счетов.

  4. Написать функцию, которая для списка счетов, возвращает список IBANNs, где в каждом IBANN символы после 3-го и до конца заменены звездочками.

  5. Написать функцию, которая принимает предложение, а возвращает количество слов, начинающихся на заданную букву.

  6. Написать функцию, которая проверяет, является ли заданная строка целым числом. Подсказка - Character.isDigit() и Stream.allMatch().

  7. Есть два класса:

    
    public class BankAccount {
    String IBANN;
    }

public class Person { String name; List bankAccounts; }


Написать функцию, которая по списку persons возвращает список их банковских счетов с звездочками с третьего символа. Подсказка - flatMap()

9. Для списка persons посчитать общий возраст тех, кому больше 17 лет. Подсказка - `reduce()`

10. Написать функцию, которая для списка persons напечатает для тех, кто старше 17 лет: In Germany <name1> and <name2> and …<nameN> are of legal age. Подсказка - `Collectors.joining()`; 

11. Даны следующие классы: `Person {String name;}, BankAccount{Person owner; String ibann;}` и `PersonWithBankAccount{String name; List<String> ibanns;}` и дан список банковских счетов List<BankAccount> accounts. Написать функцию, которая вернет `List<PersonWithBankAccounts>` persons такой, что к каждому человеку прилагается список ibanns его банковских счетов. Подсказка: понадобится написать свой Collector. 
Stingrayoliv commented 4 years ago

second part of tasks (5-11): https://github.com/Stingrayoliv/JavaAdvanced/pull/14/commits/a747983601d43aee6e0e93d6975e82d5d12c6dc6