利用java实现,list 利用 stream 转成新的 list的例子
时间: 2023-04-03 19:01:21 浏览: 97
好的,我可以回答这个问题。以下是一个利用 Java 实现,将 List 利用 Stream 转成新的 List 的例子:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> newList = list.stream()
.map(i -> i * 2)
.collect(Collectors.toList());
这个例子中,我们首先创建了一个包含整数的 List,然后使用 Stream API 中的 map 方法将每个元素乘以 2,最后使用 collect 方法将结果收集到一个新的 List 中。
相关问题
java通过stream将一个list转换成新的list
可以使用Java 8中的Stream API将一个List转换为新的List。具体实现如下:
List<String> oldList = Arrays.asList("apple", "banana", "pear", "orange");
List<String> newList = oldList.stream().map(String::toUpperCase).collect(Collectors.toList());
这段代码可以将oldList中的每个字符串转换为大写,并将它们组成一个新的List。请注意,使用Stream API需要导入java.util.stream和java.util.stream.Collectors两个包。
java 实现list对象集合转化成新的list对象集合
可以使用 Java 8 的 Stream API 来实现这个转化过程。首先,我们需要定义一个转化函数,将原始的 List 对象转化为新的 List 对象。然后,我们可以使用 Stream 的 map() 方法将原始的 List 对象映射为新的 List 对象。最后,我们可以使用 collect() 方法将映射后的结果收集到一个新的 List 对象中。以下是示例代码:
```
import java.util.ArrayList;
import java.util.List;
public class ListConverter {
public static void main(String[] args) {
List<Person> persons = new ArrayList<>();
persons.add(new Person("Alice", 25));
persons.add(new Person("Bob", 30));
persons.add(new Person("Charlie", 35));
List<String> names = persons.stream()
.map(Person::getName)
.collect(Collectors.toList());
System.out.println(names); // [Alice, Bob, Charlie]
}
static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
}
```
在这个示例中,我们定义了一个 Person 类,它有一个 name 属性和一个 age 属性。然后,我们创建了一个包含三个 Person 对象的 List 对象。接下来,我们使用 Stream 的 map() 方法将 Person 对象映射为它们的 name 属性,并使用 collect() 方法将映射后的结果收集到一个新的 List 对象中。最后,我们打印出新的 List 对象中的元素。
阅读全文