Если вы имеете в виду, случайным образом удалить любой элемент, то вы можете перетасовать элементы в соответствии с ответами @prashantzombade, и если вы хотите посчитать время, когда вы удаляете элемент 1 и элемент 2 случайным образом, вы можете реализовать логику нечетного четного государственное страхование Со статической переменной.
сделать 2 статические переменные
получить количество статических переменных
реализовать логику на половину времени (например, 50%)
случайный номер нет
, если нет. Это даже тогда удалить пункт 2, иначе пункт 1
увеличить статическую переменную, даже если нет, на 1, если случайное число является еще переменной 2
Если вы хотите реализовать следующий процесс, прокомментируйте, и я выложу пример кода.
Здесь я проверяю точное количество элементов удаления 1 и пункта 2 (точная половина времени)
import java.util.Random;
import java.util.*;
class hello2
{
static int evn=0;
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("item1");
list.add("item2");
int randomNumber=0;
//list = checkList(list);
//skip if null
if(list!=null){
//find index of items
int index1 = list.indexOf("item1");
int index2 = list.indexOf("item2");
//if one item doesn't exist in list, its index will be -1
if(index1 >= 0 && index2 >= 0){
//get random number between 1 and 2
Random random = new Random();
randomNumber = random.nextInt(2) + 1;
if((randomNumber %2)== 0){
//remove item1
if(evn==1) //if last time item 2 deleted
{
list.remove(index2);
//System.out.println(list+" Static var="+evn+" Random no: "+randomNumber%2);
evn=0;
}
//else{System.out.println(list+" Static var="+evn+" Random no: "+randomNumber%2);}
}else{
//remove item2
if(evn==0) //if last time item 1 deleted
{
list.remove(index1);
//System.out.println(list+" Static var="+evn+" Random no: "+randomNumber%2);
evn=1;
}
//else{System.out.println(list+" Static var="+evn+" Random no: "+randomNumber%2);}
}
}
System.out.println(list);
}
}
}