1

我有问题。我想检查我的指定索引的 ararylist 索引是否为空。用户可能在我的数组列表中输入了 7 个项目(索引 0 到 6)。所以我想检查索引 7 是否为空,如果为空,我将循环回我的 RoomSelection()。

我正在使用 roomInfo(4+ xx)IsEmpty。

IsEmpty 命令是否用于检查整个数组列表是否为空?

如果要检查整个 arraylist ,我可以使用什么其他方法来检查索引 7 是否为空?

for (int x = 0; x < (Integer) roomInfo.get(2); x++) {//start of number of room loop(to check how many rooms user input)

    for (int i = 0; i < (Integer) roomInfo.get(4 + xx); i++) { //start of number of add-on loop(to check how many add-on user input)


        System.out.println("addOns array contains what? : " + addOns);    // for my own reference
        System.out.println("Enter Add-On option");
        ao2 = input.nextInt();
        while (ao2 > 4) {
            System.out.println("Please enter again! Choose only option 1 to 4");
            ao2 = input.nextInt();
        }
        addOnOpt = addOn[ao2 - 1];
        addOns.add(addOnOpt);
        addOnPrice = priceAdd[ao2 - 1];
        addOns.add(addOnPrice);
        System.out.println("Enter quantity required for Add-On option " + (i + 1) + ": ");
        quan = input.nextInt();
        addOns.add(quan);
        xx += 3;
        System.out.println(" not null yet");
        if ((roomInfo.isEmpty(4 + xx) == true) {//if condition to check whether is the arrayllist of position is not null
            System.out.println("null!");
            xx = 0;
            Selection();
        }


    }// end of add-on loop

}//end of number of room loop
4

5 回答 5

3

isEmpty()如果列表中没有项目,则返回 true。

要知道是否有第 7 项,请使用该size()方法检查列表的大小(是否高于或等于 7)。

于 2012-07-30T10:34:36.077 回答
1

isEmpty() 测试此列表是否没有元素。

“如果要检查整个数组列表,我可以用什么其他方法来检查索引 7 是否为空?”

假设你有这个:

ArrayList<abc> list=new ArrayList<abc>();

abc.size()返回列表中元素的数量。如果要检查索引 8 处的元素是否存在,简单的方法是查看 size 是否至少返回 9。所以:

int indexExists=8;
if(abc.size()>indexExists)
  //do whatever with abc.get(indexExists)
else
  //abc.get(8) will return a null pointer exception

检查此链接以了解 ArrayList http://docs.oracle.com/javase/1.4.2/docs/api/java/util/ArrayList.html上的其他方法

于 2012-07-30T10:36:11.843 回答
1

isEmpty()arraylist 上的功能是检查整个arraylist 是否为空。您可能可以拿起每个元素并检查。

于 2012-07-30T10:38:14.063 回答
0

如果 ArrayList 有七个或更少的项目,或者您在索引 7 中添加,第八个项目(索引 7)将为“空” null;您需要测试这两个条件:

if(roomInfo.size() < 8 || roomInfo.get(7) == null) {
    // index 7 is "empty"
}
于 2012-07-30T10:37:19.583 回答
0

IsEmpty() 方法仅检查列表是否没有元素。

http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#isEmpty%28%29

当元素被添加到 ArrayList 时,它的容量会自动增长,因此要检查第 7 个位置,请使用 .size() 检查列表的大小

于 2012-07-30T10:37:39.570 回答