Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.*;
- import java.util.stream.Collectors;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String input = scanner.nextLine();
- TreeMap<String, ArrayList<String>> companyUsers = new TreeMap<>();// по азбучен ред на companyName
- while (!input.equals("End")) {
- String[] tokens = input.split(" -> ");
- String companyName = tokens[0];//key
- String employeeID = tokens[1];//value in List
- if (!companyUsers.containsKey(companyName)) {//за първия път
- companyUsers.put(companyName, new ArrayList<>());
- companyUsers.get(companyName).add(employeeID);
- } else {
- //за всеки следващ път проверяваме с for по размера на value= ArrayList
- // дали в дадена компания вече съществува такъв служител и ако да- не го записваме
- for (int i = 0; i < companyUsers.size(); i++) {
- if (!companyUsers.get(companyName).contains(employeeID)) {
- companyUsers.get(companyName).add(employeeID);
- }
- }
- }
- input = scanner.nextLine();
- }
- companyUsers
- .entrySet()
- .stream()
- .forEach(e -> { //тук печатаме всички key един след друг, т.е печатаме един key = e.getKey()
- // и после отиваме на стойността за съответния key=e.getValue()
- // дали ще се казва е или друго ние решаваме
- System.out.printf("%s%n", e.getKey());
- e.getValue()//тук взимаме всички стойности от ArrayList за съответния key,
- // за това ако горе е forEach(e->
- //и тук трябва да бъде е.getValue()
- .stream()//защщотое List
- .forEach(entry -> System.out.printf("-- %s%n", entry));
- //за да изпечатаме всички елементи от List
- //тук с entry сме кръстили елементите в List-a
- });
- }
- }
Add Comment
Please, Sign In to add comment