Back to questions
Senior
5
//список автомобильных номеров , номера всегда стандартные одного типа // нужно вывести каждый номер по отдельности в консоль // затем сделать карту номер - его цифры (пример A123BC:123) где key это A123BC а value это 123 //var autoNumbers = List.of(List.of("A123BC", "B421FT"), List.of("O543EC","B421FT", "I2220A"));
Companies where asked
Позитив Технолоджис
Answer from AI
sobes.tech AI
Для решения задачи на Java можно использовать следующий подход:
- Пройтись по вложенным спискам и вывести каждый номер в консоль.
- Создать Map, где ключ — номер автомобиля, а значение — строка с цифрами из номера.
Пример кода:
import java.util.*;
import java.util.stream.*;
public class AutoNumbers {
public static void main(String[] args) {
var autoNumbers = List.of(
List.of("A123BC", "B421FT"),
List.of("O543EC", "B421FT", "I2220A")
);
// Выводим каждый номер в консоль
autoNumbers.stream()
.flatMap(Collection::stream)
.forEach(System.out::println);
// Создаем карту номер -> цифры
Map<String, String> numberToDigits = autoNumbers.stream()
.flatMap(Collection::stream)
.distinct() // чтобы не дублировать ключи
.collect(Collectors.toMap(
number -> number,
number -> number.replaceAll("[^0-9]", "")
));
// Пример вывода карты
numberToDigits.forEach((key, value) -> System.out.println(key + ":" + value));
}
}
В этом примере:
- Используется
flatMapдля объединения вложенных списков в один поток. - Метод
replaceAll("[^0-9]", "")извлекает только цифры из строки. distinct()убирает повторяющиеся номера, чтобы ключи в Map были уникальными.