有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从ArrayList中删除随机项

我不熟悉安卓系统。我有一个字符串的ArrayList,该ArrayList包含随机选择并在TextView中设置的问题。当用户单击“下一步”时,应转到另一个问题的下一个活动,该问题也是从ArrayList中选择的。我想从Arraylist中删除第一个问题,以防止第二个活动中出现重复。我该怎么做

我是这样做的:

int rando = (int)((Math.random()*10));

textView.setText(myArrayList.get(rando));

我使用Intent将myArrayList传递给第二个活动

但是在进行下一个活动之前,我不知道如何删除textView中的项目。我用了我的ArrayList。删除(textView.getText());但不起作用


共 (3) 个答案

  1. # 1 楼答案

    尝试使用myList.remove(rando);,其中rando是索引

    public static void main(String[] args) {
            List<String> myList = new ArrayList<String>();
            myList.add("abc1");
            myList.add("abc2");
            myList.add("abc3");
            myList.add("abc4");
    
            int rando = (int) ((Math.random() * myList.size()));
            System.out.println(rando);
            String text = myList.get(rando);
            System.out.println(text);
            System.out.println(myList);
    
            myList.remove(rando);
            System.out.println(myList);
    
        }
    

    输出

    2
    abc3
    [abc1, abc2, abc3, abc4]
    [abc1, abc2, abc4]
    
  2. # 2 楼答案

    首先,保持rando值。然后在开始下一项活动时使用它,如下所示:

    myArrayList.remove(rando);
    
  3. # 3 楼答案

    您可以尝试按项目的位置删除该项目

    而不是这个,

    myArrayList.remove(textView.getText());
    

    你必须使用下面的代码

    myArrayList.remove(rando);