1

假设我有这个:

    // Create arrayList
    ArrayList<Point> pointList = new ArrayList<Point>();

    // Adding some objects
    pointList.add(new Point(1, 1);
    pointList.add(new Point(1, 2);
    pointList.add(new Point(3, 4);

如何通过搜索其参数之一来获取对象的索引位置?我试过这个但没有用。

    pointList.indexOf(this.x(1));

提前致谢。

4

2 回答 2

3

您必须自己遍历列表:

int index = -1;

for (int i = 0; i < pointList.size(); i++)
    if (pointList.get(i).x == 1) {
        index = i;
        break;
    }

// now index is the location of the first element with x-val 1
// or -1 if no such element exists
于 2012-12-31T19:54:05.693 回答
1

您需要创建一个自定义循环来执行此操作。

public int getPointIndex(int xVal) {
    for(int i = 0; i < pointList.size(); i++) {
        if(pointList.get(i).x == xVal) return i;
    }
    return -1; //Or throw error if it wasn't found.
}
于 2012-12-31T19:54:47.060 回答