首页 > 解决方案 > 如何知道arraylist是否包含对象属性中的值?

问题描述

我想查找 中的属性是否numb包含ArrayList grids某个值。然后我想获取包含该值的条目的索引。

public class Grid {
    public int numb;

    public GridSeg(int numb) {
        this.numb = numb;
    }
}

public ArrayList<Grid> grids = new ArrayList<Grid>();

for (int i = 0; i < 6; i++) {
    Grid grid = new Grid(i);
    grids.add(grid);
}

// pseudo code since I don't know how it is done
if (grids.numb.contains(12)) {
    if (grid.numb == 12) //get grid index
}

标签: javaarraylist

解决方案


您可以使用流实现它

    ArrayList<Grid> grids = new ArrayList<>();
    Grid grid = grids.stream().filter(l -> l.numb == 12).findFirst().orElse(null);
    int index = grids.indexOf(grid);

推荐阅读