Sobes.tech
Назад к вопросам
Senior
4

```java import java.util.*; import java.lang.*; import java.io.*; class Codechef { public static void main (String[] args) throws java.lang.Exception { var autoNumbers = List.of(List.of("A123BC", "B421FT"), List.of("O543EC","B421FT", "I222OA")); autoNumbers.stream().flatMap(Collection::stream).flatEach(System.out/System.out.println()); Map<String, String> numberMap = autoNumbers.stream().flatMap(Collection::stream).collect(Collectors.toMap( n -> n, n -> n.replaceAll("[^0-9]", ""))); System.out.println(numberMap); } } ```

Компании, где спрашивали
ЦифровыеПривычки

Ответ от нейросети

sobes.tech AI

В представленном коде есть несколько ошибок и опечаток:

  1. Метод flatEach не существует. Вероятно, имелось в виду forEach.
  2. В forEach передан некорректный аргумент System.out/System.out.println(). Правильно использовать System.out::println.

Исправленный вариант вывода всех номеров:

autoNumbers.stream()
    .flatMap(Collection::stream)
    .forEach(System.out::println);

Далее, создание numberMap корректно собирает Map, где ключ — номер авто, а значение — только цифры из номера.

Полный исправленный код:

import java.util.*;
import java.util.stream.Collectors;

class Codechef {
    public static void main(String[] args) {
        var autoNumbers = List.of(
            List.of("A123BC", "B421FT"),
            List.of("O543EC", "B421FT", "I222OA")
        );

        autoNumbers.stream()
            .flatMap(Collection::stream)
            .forEach(System.out::println);

        Map<String, String> numberMap = autoNumbers.stream()
            .flatMap(Collection::stream)
            .collect(Collectors.toMap(
                n -> n,
                n -> n.replaceAll("[^0-9]", ""),
                (existing, replacement) -> existing  // при дубликатах оставляем первый
            ));

        System.out.println(numberMap);
    }
}

Обратите внимание, что в исходных данных есть дубликат "B421FT", поэтому при сборе Map нужно обработать коллизии ключей, например, оставляя первое значение.