首页 > 解决方案 > 如何获取不为空的数组元素

问题描述

我在做礼物(String-type)存储,使用数组,最大5亿。我想获取数组中已使用元素的数量,比如当前有多少礼物库存,(IE我存储了253538个礼物,但我不知道。Java中有没有命令可以知道只有253538数组中包含元素的槽)。但我不知道该怎么做。这是我要使用的代码片段:

static String[] Gifts = new String[500000000];
static int i = 0;
String command, Gift;
while (true) {
    //Gift Array Console
    String command = scan.next();
    if (command == "addgift") {
        String Gift = scan.next();
        Gifts[i] = Gift;
        i++;
    }
}

标签: javaarraysuser-input

解决方案


您可以遍历数组并计算非空数组元素。

int counter = 0;
for (int i = 0; i < arrayName.length; i ++) {
    if (arrayName[i] != null)
        counter ++;
}

如果你使用它会更好,ArrayList<String>这样你就可以使用size()

List<String> arrayName = new ArrayList<String>(20);
System.out.println(arrayName.size());

它将打印0,因为没有元素添加到 ArrayList。


推荐阅读