我有一个列表,我填写如下
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);
}
答案 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
}