I want to know that how can i find the number of element in the normal array in java. For example if i have an int array with size 10 and i have inserted only 5 element. Now, i want to check the number of element in my array? Below is the code for more clarification. Please help
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);
}
The code is wrong. You declare a int[]
: this cannot contain null values so this statement will not compile :
if(intArray[j] != null) {
Then, if you want to store many items but you don't know howmany, you should use a Collection
, for example ArrayList
List<Integer> ints = new ArrayList<Integer>(); //Or new ArrayList<>(); - Java7
Then, you can have the size with :
ints.size();
Now, if you really want to use an array, then you can for example count the number of non-zero values :
for(int j=0; j<=intArray.length; j++) {
if(intArray[j] != 0) {
count++;
}
}
Or better in Java 7 :
for(int i : intArray) {
if(i!=0) {
count++;
}
}
Even better in Java 8 :
Arrays.stream(intArray).filter(i -> i !=0).count();
Check out Collection.frequency()
. This will count how many times the specific Object (in this case null
) appears in the Collection.
Below is just an example to help you along
String[] array = new String[5];
array[0] = "This";
array[1] = null;
array[2] = "is";
array[3] = null;
array[4] = "a test";
int count = Collections.frequency(Arrays.asList(array), null);
System.out.println("String: " + count + " items out of " + array.length + " are null");
int[] iArray = new int[3];
iArray[0] = 0;
iArray[1] = 1;
iArray[2] = 2;
List<Integer> iList = new ArrayList<>();
for (int i : iArray) {
iList.add(i);
}
int iCount = Collections.frequency(iList, 0);
System.out.println("Int: " + iCount + " items out of " + iArray.length + " are zero");
char[] cArray = new char[3];
cArray[0] = 'c';
cArray[1] = ' ';
cArray[2] = 'a';
List<Character> cList = new ArrayList<>();
for (char c : cArray) {
cList.add(c);
}
int cCount = Collections.frequency(cList, ' ');
System.out.println("Char: " + cCount + " items out of " + cArray.length + " are ' '");
Output:
String: 2 items out of 5 are null
Int: 1 items out of 3 are zero
Char: 1 items out of 3 are ' '
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With