#java #arrays #list
#java #массивы #Список
Вопрос:
У меня есть list<P>
(java.util.list) . Теперь я хочу заменить элементы в list<A>
на основе двух условий.
Если элемент == ‘a’ заменить на ‘x’, а если элемент == ‘b’ заменить на ‘y’. x и y имеют тип Q.
Какой самый чистый / эффективный способ сделать это? Предпочтительно, я не хочу выполнять итерацию с использованием цикла for. Я могу использовать stream / replaceAll, но это означало бы нарушение типа списка.
Комментарии:
1. Пожалуйста, будьте более конкретными. Как правило, подход заключается в преобразовании всего
List<P>
вList<A>
или аналогичный.2. все элементы, которые у вас есть, либо =a, либо = b? если это не так, возможно, вам придется использовать общий список
Ответ №1:
Я понял это. Я могу использовать (псевдокод) (list<A>).stream().forEach(r->{condition?list<B>.add(x):list<B>.add(y)})
инициализируйте список< B > перед этим.