63

リストが空かどうかを確認するにはどうすればよいですか? その場合、システムはList is emptyというメッセージを表示する必要があります。そうでない場合、システムはList is not emptyというメッセージを表示する必要があります。ユーザーは数字を入力-1してプログラムを停止できます。これは私が現在持っているコードですが、これは機能しません。常に「リストが空ではありません」と表示されます。

import java.util.*;
import javax.swing.JOptionPane;

public class ArrayListEmpty 
{
    public static void main(String[] args) 
    {
        List<Integer> numbers = new ArrayList<Integer>();
        int number;
        do {
            number = Integer.parseInt(JOptionPane.showInputDialog("Enter a number (-1 to stop)"));
            numbers.add(number);
        } while (number != -1);
        giveList(numbers);
    }

    public static void giveList(List<Integer> numbers)
    {
        if (numbers != null)
            JOptionPane.showMessageDialog(null, "List isn't empty");
        else
            JOptionPane.showMessageDialog(null, "List is empty!");
    }
}
4

6 に答える 6

171

次のように簡単に:

if (numbers.isEmpty()) {...}

ドキュメントをざっと見てみると、その情報が得られることに注意してください。

于 2013-01-03T18:51:17.923 に答える
19

メソッドを使用する必要がありますlistName.isEmpty()

于 2013-01-03T18:53:10.360 に答える
3

元の問題は、リストが null であるかどうかを確認していたことでしたList<Integer> numbers = new ArrayList<Integer>();。ただし、List.isEmpty()メソッドを使用してリストが空かどうかを適切に確認するようにコードを更新しました。

ここでの問題は、実際には空のリストを に送信していないことですgiveList()。do-while ループでは、-1 であっても、任意の入力番号をリストに追加します。-1 が追加されないようにするには、do-while ループを変更して、-1 でない場合にのみ数値を追加します。次に、ユーザーの最初の入力番号が -1 の場合、リストは空になります。

do {
    number = Integer.parseInt(JOptionPane.showInputDialog("Enter a number (-1 to stop)"));
    /* Change this line */
    if (number != -1) numbers.add(number);
} while (number != -1);
于 2013-01-03T19:12:12.797 に答える
-3

ソース: CodeSpeedy クリックして詳細を確認 ArrayList が空かどうかを確認する

import java.util.ArrayList;
public class arraycheck {
public static void main(String args[]){
ArrayList<Integer> list=new ArrayList<Integer>();

    if(list.size()==0){
        System.out.println("Its Empty");

    }
    else
        System.out.println("Not Empty");

   }

}

出力:

run:
Its Empty
BUILD SUCCESSFUL (total time: 0 seconds)
于 2018-10-14T17:24:55.570 に答える