Я пытаюсь построить карту из списка.Моя цель - сравнить два списка и найти различия между этими двумя списками.Затем я хочу построить карту, чтобы узнать, по какому индексу я нашел различия.
Я сделал это на Java, я думаю, не очень хорошо, но он работает.
//I compare the two values for a given index, if value are the same, I set null in my result list
List<String> result = IntStream.range(0, list1.size()).boxed()
.map(i -> list1.get(i) != list2.get(i) ? (list1.get(i) + " != "+ list2.get(i)) : null)
.collect(Collectors.toList());
//I filter all the null values, in order to retrieve only the differences with their index
Map<Integer, String> mapResult =
IntStream.range(0, result.size())
.boxed().filter(i-> null != result.get(i))
.collect(Collectors.toMap(i -> i,result::get));
Это не оптимально, но работает.Если у вас есть предложения относительно этих строк кода, я с радостью приму их.
Я попробовал два варианта такого поведения в Kotlin, но мне не удалось использовать конструктор map ().(Я все еще изучаю Kotlin, я не очень знаком с ним).
Спасибо за вашу помощь.