英文:
How to replace an element in a java.util.List with an element of another type?
问题
我有一个 list<P>
(java.util.list)。
现在我想根据两个条件替换list<A>
中的元素。
如果元素等于'a',则替换为'x';如果元素等于'b',则替换为'y'。
x和y的类型是Q。
做这个的最清晰/高效的方式是什么?
最好不使用for循环进行迭代。我可以使用流(Stream)/replaceAll,但这意味着违反了列表的类型。
英文:
I have a list<P>
(java.util.list) .
Now I want to replace elements in list<A>
based on two conditions.
If element == 'a' replace with 'x' and if element == 'b' replace with 'y'.
x and y are of type Q.
What is the cleanest / efficient way to do this?
Preferably, I do not want to iterate using a for loop. I can use a stream/replaceAll but that would mean violating the type of the list.
答案1
得分: 1
我弄清楚了。我可以使用(伪代码)
(list<A>).stream().forEach(r->{condition?list<B>.add(x):list<B>.add(y)})
在此之前初始化list< B >。
英文:
I figured it out. I can use (pseudocode)
(list<A>).stream().forEach(r->{condition?list<B>.add(x):list<B>.add(y)})
init list< B > before this.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论