Yes, you can always use null instead of an object. Just be careful because some methods might throw error.
It would be 1.
Also nulls would be factored in in the for loop, but you could use
for (Item i : itemList) {
if (i != null) {
//code here
}
}