我如何创建方法RandomArray并让它接受一个整数n并返回一个整数的ArrayList,它包含0到255之间的n个随机数 . (换句话说:让返回的数组大小为n)??? (我正在使用Java Eclipse)我创建了RandomArray,但是我不知道如何将它放在ArrayList中,这是我到目前为止所得到的:
import java.util.Random;
public class Lab6 {
public static void main(String[] args) {
Random random = new Random();
int[] n = new int[1];
for( int i = 0 ; i < n.length ; i++ ) {
for ( int i1 = 0 ; i1 < n.length ; i1++ ) {
n[i1] = random.nextInt(255);
}
}
for( int a : n ) {
System.out.println( a );
}
}
}
5 回答
ArrayLists的工作方式与数组的工作方式大致相同,只是它们可以根据需要增长(或缩小),并且不支持通过
[]
运算符进行访问/检索(即,您无法在ArrayList上执行n[i1]
) . 而是使用其add()
方法向其添加元素,并使用get()
方法访问元素 .你的意思是这样的:
尝试这样的事情
主方法包含示例用法
这比你要求的要多,但它与切线相关,可能会帮助人们遇到这个问题 .
当你想要一个
ArrayList
的随机整数时,你通常只需要一些随机数,并且不需要将它们存储在任何地方 . 在这种情况下,您可能只需返回一个Iterator<Integer>
,它会返回随机整数流,尽可能多 . 这很容易用Guava库(现在应该是每个Java代码库的一部分) .您可以轻松定义
Iterator<Integer>
,它可以为您提供所需数量的随机数(或您想要的任何其他数据类型):或者,如果要使用
Random.nextInt(int max)
方法:有没有浪费时间或空间计算任何东西,垃圾收集器会在你完成时为你清理它 . 我们使用
ThreadLocalRandom
来确保它们是线程安全的,并且避免在整个地方构建新的Random
对象(以及引入的潜在数据争用条件,尽管Java的新版本非常聪明) . 如果更有意义的话,您可以轻松使用现有的Random
对象 .一些例子:
使用此模式生成随机数据通常会使您的代码更清晰,更精简,更易于阅读 . 试试看 :)