Arraylist随机坐标

时间:2013-11-26 21:47:05

标签: arraylist

我是java新手,我需要创建一个存储随机坐标的数组列表。任何帮助?这是正确的我在做什么?我想存储很多坐标,以便我以后可以使用它们......但不是100%如何将它们添加到列表中..

ArrayList<Point> coordinates = new ArrayList<Point>();
        for( int i = 0; i < 5; i++)
        {   
            Random x = new Random();
            Random y = new Random();
            coordinates.add(x,y)
        }

2 个答案:

答案 0 :(得分:1)

这不是您使用RandomArrayList的方式。阅读文档herehere,而不是盲目编码!通过猜测,你真的不会去任何地方。

如果你正在使用java.awt.Point(或另一个以两个整数作为坐标的班级),这应该对你有用:

ArrayList<Point> coordinates = new ArrayList<Point>();
Random rand = new Random();
for( int i = 0; i < 5; i++) {    
    int x = rand.nextInt();
    int y = rand.nextInt();
    coordinates.add(new Point(x,y));
}

或者更简洁,您可以在循环中执行此操作:

coordinates.add(new Point(rand.nextInt(), rand.nextInt()));

但请注意,Random.nextInt()会导致整数值范围内的随机整数,这相当大。如果需要限制范围,请适当更改nextInt()调用(请参阅JavaDoc)。

答案 1 :(得分:0)

Random是一个生成随机数的类。这并不意味着每个Random实例都是一个随机数。使用Random的标准方法是:

Random rand = new Random();
<XXX> val = rand.nextXXX(); // XXX can be one of int, long, double, float, boolean, byte
<YYY> anotherVal = rand.nextYYY();
//do something with val and anotherVal

首先,您应该定义您希望随机值包含在哪个值范围内。

您应该查看Javadoc of Random class以获得更好的视图。