I am doing gift (String-type) storage, using arrays, with the maximum 500 million. I want to get the number of used elements in an array like how many gifts are currently in sto
You can use Arrays.stream to iterate over this array of strings, then use filter to select nonNull elements and count them:
String[] arr = {"aaa", null, "bbb", null, "ccc", null};
long count = Arrays.stream(arr).filter(Objects::nonNull).count();
System.out.println(count); // 3
Or if you want to find the index of the first null element to insert some value there:
int index = IntStream.range(0, arr.length)
.filter(i -> arr[i] == null)
.findFirst()
.getAsInt();
arr[index] = "ffffd";
System.out.println(index); // 1
System.out.println(Arrays.toString(arr));
// [aaa, ffffd, bbb, null, ccc, null]
See also: How to find duplicate elements in array in effective way?