簡體   English   中英

為什么我的 ArrayList<integer> 包含 null 值?</integer>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM