Решение, которое использует только стандартную библиотеку:
List<String> a = Arrays.asList("1", "2", "3");
List<String> b = Arrays.asList("10", "20", "30");
List<String> c = IntStream.range(0, a.size())
.map(i -> Integer.parseInt(a.get(i)) + Integer.parseInt(b.get(i)))
.mapToObj(Integer::toString)
.collect(Collectors.toList());
Обратите внимание, что входные данные хранят номера магазинов как String
, как указано в вашем примере.Кроме того, вы можете объединить вызовы map()
и mapToObj()
в один вызов mapToObj()
, но я хотел бы разделить его для ясности.
Также предполагается, что оба списка имеют одинаковый размер, если онине было, ArrayIndexOutOfBoundsException
будет брошено.