Java 如何从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>();

如果这是我的课:

我的问题是,在step()函数的条件2中,如何从arraylist中删除该对象?我不确定,因为该对象是由随机函数随机选择的

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是您的朋友,让他们看看哪些方法做什么以及如何调用它们