我想在数组列表中添加一些值,但在随机索引处。这可能吗?
问问题
2361 次
2 回答
2
您可以使用带有范围的Math.Random来执行此操作。我怀疑你想在任何索引处添加它,因为 ArrayList 是一个动态扩展的数组,这意味着如果你使用超过一定大小的索引,它必须调整大小。这将使您的插入成本超过所需的成本,并且占用的内存也超出所需。如果你知道你只会说.. 100 个项目,那么只需选择 1 - 100 之间的随机值。
编辑:如果您执行以下操作,随机不会产生十进制值..您说您想要 1-4 之间的范围,而不是以下应该给您想要的内容...
public int Rand(){
return ((int)(1+(Math.random()*4)));
}
于 2012-04-09T14:40:30.803 回答
0
是的,有可能,Math.random()
可以add()
与ArrayList
.
例如:
arrayList.add(getRandomIndex(arrayList.size()),object);
getRandomIndex() 方法可以是:
public int getRandomIndex(int size){
return ((int)Math.random()*size)
}
于 2012-04-09T14:44:42.840 回答