我想在arraylist中添加一些值,但是随机索引。这可能吗?
答案 0 :(得分:2)
您可以使用范围Math.Random来执行此操作。我怀疑你想在任何索引中添加它,因为ArrayList是dynamically expanding array,这意味着如果你使用超过一定大小的索引,它将不得不调整大小。这将使您的插入物比它们需要的更昂贵,并且它还将占用比所需更多的存储器。如果你知道你只会说... 100项,那么只需选择1到100之间的随机值。
编辑:如果您执行以下操作,则Random不会生成小数值..您说您希望范围介于1-4之间,而下列应该为您提供所需的...
public int Rand(){
return ((int)(1+(Math.random()*4)));
}
答案 1 :(得分:0)
是的,Math.random()
可以与add()
的重载ArrayList
方法一起使用。
例如:
arrayList.add(getRandomIndex(arrayList.size()),object);
getRandomIndex()方法可以是:
public int getRandomIndex(int size){
return ((int)Math.random()*size)
}