java遍历一个list 中的集合,将集合中的元素复制到一个实体中
时间: 2024-04-30 16:22:42 浏览: 97
假设我们有一个实体类Person,具有id和name两个属性:
```
public class Person {
private int id;
private String name;
public Person(int id, String name) {
this.id = id;
this.name = name;
}
// getter和setter方法
}
```
我们有一个List<Person>类型的集合persons,我们可以使用Java 8的Stream API进行遍历和映射:
```
List<Person> persons = new ArrayList<>();
persons.add(new Person(1, "Alice"));
persons.add(new Person(2, "Bob"));
persons.add(new Person(3, "Charlie"));
List<Person> copiedPersons = persons.stream()
.map(person -> new Person(person.getId(), person.getName()))
.collect(Collectors.toList());
```
上述代码中,我们首先使用stream()方法将集合转换为一个Stream对象,然后使用map()方法将每个Person对象映射为一个新的Person对象,其中id和name属性都是从原来的Person对象中获取的。最后使用collect()方法将Stream对象转换为一个新的List<Person>类型的集合copiedPersons。
如果不想使用Java 8的Stream API,我们也可以使用传统的for循环进行遍历和复制:
```
List<Person> copiedPersons = new ArrayList<>();
for (Person person : persons) {
Person copiedPerson = new Person(person.getId(), person.getName());
copiedPersons.add(copiedPerson);
}
```
上述代码中,我们首先创建一个空的List<Person>类型的集合copiedPersons,然后使用for循环遍历原来的集合persons,每次循环复制一个新的Person对象,并添加到copiedPersons集合中。
阅读全文