6

在下面的代码中,它只调用一个元素一次。当所有内容都被删除并且只剩下一个元素时,如何让它打印出“这是数组列表中的最后一个元素”。

ArrayList<String> Responselist = new ArrayList<String>();
Responselist.add(CommentResponse());
Responselist.add(TriviaResponse());
Responselist.add(CriticResponse());
String[] SelectRand = new String [3];

for (int i = 0; i < SelectRand.length; ++i)
{
    int rnd = (int) (Math.random() * Responselist.size());
    SelectRand[i] = Responselist.get(rnd);
    Responselist.remove(rnd);
}

for (String x : SelectRand)
{
    if (!(Responselist.isEmpty()))
    {
        System.out.println(x);
    }
}
4

4 回答 4

6

您可以控制数组列表的大小,id est

if (arraylist.size()==1){
    System.out.println("this is the last element in the arraylist");
}

如果你想打印最后一个元素,你可以访问它(索引=0,如果它只是一个元素)

arraylist.get(arraylist.size()-1);
于 2012-08-09T08:16:25.663 回答
1

您可以使用以下 if-construct 解决此问题

if(responseList.size() == 1)
{
System.out.println("this is the last element in the arraylist")
}

您应该以小写字母开头变量。

于 2012-08-09T08:17:36.980 回答
1

我猜应该这样做:

if (list.size() == 1) {
  System.out.println(list.get(list.size() - 1)) // or just .get(0) of course...
} else {
  System.out.println("List is empty or bigger than one")
}
于 2012-08-09T08:16:12.600 回答
-2

尝试并坚持 Java 中的约定

代替

ArrayList<String> Responselist = new ArrayList<String>();

然后编码到接口而不是具体类。

List<String> Responselist = new ArrayList<String>();

标准的java变量也是驼峰式的,所以它会是

List<String> responselist = new ArrayList<String>();

我认为其他答案足以回答您的原始查询。

于 2012-08-09T09:37:30.563 回答