6

以下のコードでは、要素を 1 回だけ呼び出します。すべてが削除され、残りの要素が1つしかないときに、「これは配列リストの最後の要素です」と出力するにはどうすればよいですか。

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

arraylist、id est のサイズを制御できます。

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

最後の要素を印刷したい場合は、次のようにアクセスできます(要素が1つの場合はindex = 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 に答える