在Java 我们可以在8中使用Stream API处理集合中的元素,并将其放入数组中。下面我们将详细介绍如何使用Stream API将id放入数组中。
首先,我们需要创建一个包含ID对象的集合。在这个例子中,我们假设我们有一个名字Person
该类包含一个类别id
属性:
public class Person { private int id; public Person(int id) { this.id = id; } public int getId() { return id; }}
接下来,我们将创建一个包含Person对象的集合,并将其命名为persons
:
List<Person> persons = new ArrayList<>();persons.add(new Person(1));persons.add(new Person(2));persons.add(new Person(3));persons.add(new Person(4));persons.add(new Person(5));
现在,我们想把上述集合中的每个Person对象的id放入一个数组中。我们可以使用Stream API中的mapToInt()
该方法将每个Person对象映射到其id中,然后使用toArray()
该方法将流中的元素放入新的int数组中。
int[] ids = persons.stream() .mapToInt(Person::getId) .toArray();
让我们来看看上述代码是如何工作的:
persons.stream()
将集合转换为一流。mapToInt(Person::getId)
将Person对象映射为其id。在这里,我们使用方法引用它getId
该方法作为参数传递mapToInt()
方法。toArray()
将流中的元素放入新的int数组中。
最后,我们可以通过遍历数组验证结果:
for (int id : ids) { System.out.println(id);}
完整的示例代码如下:
import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) { List<Person> persons = new ArrayList<>(); persons.add(new Person(1)); persons.add(new Person(2)); persons.add(new Person(3)); persons.add(new Person(4)); persons.add(new Person(5)); int[] ids = persons.stream() .mapToInt(Person::getId) .toArray(); for (int id : ids) { System.out.println(id); } } public static class Person { private int id; public Person(int id) { this.id = id; } public int getId() { return id; } }}
以上代码将输出以下结果:
12345
综上所述,我们可以使用Stream API的mapToInt()
该方法将集合中的对象属性映射成int流,然后使用toArray()
该方法将流中的元素放入一个新的int数组中。该方法可以很容易地提取物体的属性并将其放入数组中,使我们更容易处理和操作这些属性。