gpt4 book ai didi

java - 使用 Streams 将列表对象复制到另一个具有修改内容的列表对象

转载 作者:行者123 更新时间:2023-12-02 09:43:02 24 4
gpt4 key购买 nike

我想在我的列表中使用大写图书名称流

List<Book> list = new ArrayList<Book>();
list.add(new Book("1", "Java", 10));
list.add(new Book("2", "Spring", 20));
list.add(new Book("3", "Webservices", 30));

我想转换我的书名的大小写。我当前的方法是给我 List 而不是 List --------- [JAVA、SPRING、网络服务]

    package java8;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;;

public class StreamTest {

public static void main(String s[]) {
List<Book> list = new ArrayList<Book>();
list.add(new Book("1", "Java", 10));
list.add(new Book("2", "Spring", 20));
list.add(new Book("3", "Webservices", 30));
List<String> updateList = list.stream().map(str2 -> str2.getName().toUpperCase()).collect(Collectors.toList());
System.out.println("--------- "+updateList);
}
}

最佳答案

如果您只想更新现有列表,则可以使用 .forEach():

list.forEach(b -> b.setName(b.getName().toUpperCase()));

如果你想创建一个新列表,你可以使用这个:

List<Book> result = list.stream()
.map(b -> new Book(b.getId(), b.getName().toUpperCase(), b.getSomething()))
.collect(Collectors.toList());

关于java - 使用 Streams 将列表对象复制到另一个具有修改内容的列表对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56906250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com