[英]Why does my ArrayList<Integer> contain null values?
我有一個ArrayList<Integer> primes
,它保存 3 到 1993 之間的素數。這個范圍內有 300 個素數。 但是,在調試過程中,我看到加載列表后其大小為 366,索引 300 - 365 包含值null
。 為什么?
public class SeminarProblem {
public static void main(String[] args) {
ArrayList<Integer> primes = new ArrayList<Integer>();
for (int i = 1993; i >= 3; i -= 2) {
if (isPrime(i)) {
primes.add(i);
}
}
public static boolean isPrime(int n) {
if (n == 2 || n == 3) {
return true;
}
if (n % 2 == 0 || n == 1) {
return false;
}
else {
if (n % 6 != 1 && n % 6 != 5) {
return false;
}
for (int i = 3; i <= (int) Math.sqrt(n); i = i + 2) {
if (n % i == 0) {
return false;
}
}
}
return true;
}
}
它的剩余索引沒有被代碼使用,就像 Arraylist 一樣,它的大小增加了new size = (current size*3/4)+1;
*您正在調試內部數組
除此之外,您只會得到300
值,沒有 null 值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.