cordinates x和y数组包含在列表中

时间:2017-02-26 15:05:41

标签: java arrays list

我有一个列表,我填写如下

  List<Float[]> list = new ArrayList<>();
    list.add(new Float[]{x,y});

我想对此列表进行测试a包含x和y需要具有这样的精确数字

 private boolean containlist(float x, float y) {

        return (x <730 && x > 710 && y <1114  && y >140);

}

3 个答案:

答案 0 :(得分:0)

你的问题有点模糊,但你可以创建一个类“坐标” 其中包含属性(x,y),然后创建此类的ArrayList。 之后,您可以使用ArrayList

的方法“contains”
public class Coordinates
{
    private float x,y

    Coordinates()
    {

    }
    Coordinates(float x, float y)
    {
        this.x=x;
        this.y=y;
    }
}


public static void main(String[] args) {

ArrayList<Coordinates> list = new ArrayList<>();
Coordinates c1= new Coordinates(1.5, 2.3)
list.add(c1);

// to look if an element is inside the list you can use the method
if (list.contains(c1))
{
    System.out.println("It's inside the list");
}
}

答案 1 :(得分:0)

短而甜蜜:

    list.removeIf(xy -> !containlist(xy[0], xy[1]));

虽然您选择的Float[]存储坐标是可疑的,但这与问题无关。

答案 2 :(得分:0)

如果您的List<Float[]> list和方法containList(float, float)位于同一个班级,您可以通过迭代列表找到目标坐标(x, y)

private boolean containList(float x, float y) {
    for (Float[] coordinate : list) {
        float coordinateX = coordinate[0];
        float coordinateY = coordinate[1];

        if (coordinateX == x && coordinateY == y) {
            return true;
        }
    }
    return false;  // (x, y) not found
}