将Array对象转换为该对象中的变量Array

时间:2016-03-24 22:01:32

标签: java arrays

基本上我想做的是:

Point[] points = new Point[]{new Point(2, 3), new Point(7,8), new Point(1, 8)};
int[] xCoords  = new int[points.length];

for (int i = 0; i < points.lenght; i++) {
    xCoords[i] = points[i].x;
}

所以最终我会以xCoords看起来像这样:

{2, 7, 8}

是否可以以更一般的方式存档?

3 个答案:

答案 0 :(得分:7)

你可以做到

int[] xCoords = Stream.of(points).mapToInt(p -> p.x).toArray();

答案 1 :(得分:5)

如果您正在使用

int[] xCoords = Stream.of(points).mapToInt(Point::getX).toArray();

答案 2 :(得分:4)

您可以使用2D数组来完成,例如:

int[][] coordinates = new int[5][];
for(int i=0 ; i < points.size() ; i++){
    coordinates[i] = new int[]{points.get(i).getX(), points.get(i).getY()};
}