Java 如何从Arraylist中删除随机对象?
如果这是我的课: 我的问题是,在step()函数的条件2中,如何从arraylist中删除该对象?我不确定,因为该对象是由随机函数随机选择的Java 如何从Arraylist中删除随机对象?,java,object,arraylist,Java,Object,Arraylist,如果这是我的课: 我的问题是,在step()函数的条件2中,如何从arraylist中删除该对象?我不确定,因为该对象是由随机函数随机选择的 import java.util.Random; public class test{ private ArrayList<list> holder; public class(){ int i = 0; holder = new ArrayList<Student>();
import java.util.Random;
public class test{
private ArrayList<list> holder;
public class(){
int i = 0;
holder = new ArrayList<Student>();
for (i=0;i<S;i++){
holder.add(new holder(i, library));
}
}
public void step(){
box = students.get(random.nextInt(holder.size()));
if (condition 1){
do this
} else if (condition 2){
** remove the random object from arraylist (how?)**
}
}
import java.util.Random;
公开课考试{
私人ArrayList持有者;
公共类(){
int i=0;
holder=新的ArrayList();
对于(i=0;i使用导入的java.util.Random随机生成要删除的值
所以你可以做Radom rand=new Random()
rand.nextInt()+;
MAX_TO_GENERATE是您希望它上升到的值(请记住,Random是独占的,因此如果执行100,它将只上升到99),然后将MIN_TO_GENERATE设置为您希望它生成的最低值
看起来您正在将人员添加到ArrayList中,而此列表可能包含5000人,因此可能有一个变量用于保存学生人数。看起来您正计划对我执行此操作,但我不完全确定
编辑:
生成值后,将其分配给变量,例如
int randomNum=rand.nextInt()+;
然后您可以执行If语句来删除它,例如:
if(holder.get(randomNum)!=null)
{
支架。移除(随机数);
}
方法一,只需将索引设置为变量即可
public void step(){
int index=random.nextInt(holder.size());
box = students.get(index);
if (condition 1){
//do this - this is a comment
}
else if (condition 2){
students.remove(index);
}
}
方法2,如果类对象不是int或Integer类型:
public void step(){
box = students.get(random.nextInt(holder.size()));
if (condition 1){
//do this - this is a comment
}
else if (condition 2){
students.remove(box);
}
}
希望这能解决这个问题。另外,JavaDocs是您的朋友,让他们看看哪些方法做什么以及如何调用它们