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

Vid*_*Vid 4 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);
    }
Run Code Online (Sandbox Code Playgroud)

Arn*_*lle 7

代码错了.你声明一个int[]:这不能包含空值,所以这个语句不会编译:

if(intArray[j] != null) {
Run Code Online (Sandbox Code Playgroud)

然后,如果你想存储很多物品,但你不知道如何,你应该使用a Collection,例如ArrayList

List<Integer> ints = new ArrayList<Integer>(); //Or new ArrayList<>(); - Java7
Run Code Online (Sandbox Code Playgroud)

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

ints.size();
Run Code Online (Sandbox Code Playgroud)

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

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

或者更好的Java 7:

for(int i : intArray) {
  if(i!=0) {
    count++;
  }
}
Run Code Online (Sandbox Code Playgroud)

Java 8中更好:

Arrays.stream(intArray).filter(i -> i !=0).count();
Run Code Online (Sandbox Code Playgroud)