java - 如何在java中查找数组中的元素数量?

标签 java arrays

我想知道如何在 java 中找到普通数组中的元素数。例如,如果我有一个大小为 10 的 int 数组,并且我只插入了 5 个元素。现在,我想检查数组中元素的数量?下面是更清晰的代码。请帮忙

public static void main(String[] args) {

        int [] intArray = new int[10];
        char [] charArray = new char[10];

        int count = 0;

        for(int i=0; i<=5; i++) {

            intArray[i] = 5;    
            charArray[i] = 'a';


        }


        for(int j=0; j<=intArray.length; j++) {
            if(intArray[j] != null) {
                count++;
            }
        }

        System.out.println("int Array element : "+ count);
    }

最佳答案

代码有误。你声明一个 int[] :它不能包含空值所以这个语句不会编译:

if(intArray[j] != null) {

然后,如果你想存储很多项目但你不知道有多少,你应该使用Collection,例如ArrayList

List<Integer> ints = new ArrayList<Integer>(); //Or new ArrayList<>(); - Java7

然后,您可以使用以下尺寸:

ints.size();

现在,如果您真的想要使用数组,那么您可以计算非零值的数量:

for(int j=0; j<=intArray.length; j++) {
  if(intArray[j] != 0) {
    count++;
  }
}

或者在 Java 7 中更好:

for(int i : intArray) {
  if(i!=0) {
    count++;
  }
}

Java 8 中更好:

Arrays.stream(intArray).filter(i -> i !=0).count();

关于java - 如何在java中查找数组中的元素数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611492/

相关文章:

javascript - 在下拉列表中显示数组

android - 从字符串数组填充 ListView

java - 如何将两个具有相同长度的数组相乘并返回具有这些值的新数组?

java - 接口(interface)内部继承对象类是可能的

java - 一键操作和两种不同的 View

php - 将 PHP 多维数组转换为 Postgres HStore

java - 数组的元素作为对另一个数组的引用?

native 方法的 Javah 命令给出异常

php - 在 UPDATE/SET 语句中取消嵌套,PostgreSQL/PHP

c - 为什么这个 if 语句为真?不同的arry地址