簡體   English   中英

IndexOutOfBoundsException:索引:0,大小:0 2D Arraylist

[英]IndexOutOfBoundsException: Index: 0, Size: 0 2D Arraylist

I have this code

    ArrayList<ArrayList<Integer>> Pareto_set_List=new ArrayList<ArrayList<Integer>>();
        for(Optimization_Problem.General_Calculation.Get_Another_Solution=0;Optimization_Problem.General_Calculation.Get_Another_Solution<Input.General_Inputs.Monte_Carlo_Step;Optimization_Problem.General_Calculation.Get_Another_Solution++){
        int Count_Location=0;
            for(Optimization_Problem.General_Calculation.Count_year=0;Optimization_Problem.General_Calculation.Count_year<Input.General_Inputs.Analysis_Period;Optimization_Problem.General_Calculation.Count_year++){
    //Run code Calculation not shown here.
    for(int j=0;j<Input.General_Inputs.Num_Of_Ppes;j++){
                Pareto_set_List.get(Optimization_Problem.General_Calculation.Get_Another_Solution).add(EncodingUtils.getInt(solution.getVariable(j)));
            Count_Location++;}
            double[] objectives = solution.getObjectives();
            //System.out.println("Solution " + (1) + ":");
            Pareto_set_List.get(Optimization_Problem.General_Calculation.Get_Another_Solution).add((int) Math.floor(objectives[0])); Count_Location++;
            Pareto_set_List.get(Optimization_Problem.General_Calculation.Get_Another_Solution).add((int) Math.floor(objectives[1])); Count_Location++;
            Pareto_set_List.get(Optimization_Problem.General_Calculation.Get_Another_Solution).add((int) Math.floor(objectives[2])); Count_Location++;
        }
        }
        Optimization_Problem.General_Calculation.Count_year=0;
        }
    }

當我運行這個我得到這個錯誤

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at Implementation_Method.main(Implementation_Method.java:53)

我認為數組列表是動態的,我不知道為什么收到此錯誤。 我花了很多時間在解決這個問題上,沒有任何幫助,對此深表感謝。 提前致謝。

Pareto_set_List.get(Optimization_Problem.General_Calculation.Get_Another_Solution).add(EncodingUtils.getInt(solution.getVariable(j)));

在此之前,您似乎沒有將任何ArrayList實例添加到Pareto_set_List ,因此ArrayList為空。 當您嘗試檢索位於Optimization_Problem.General_Calculation.Get_Another_Solution (似乎為0)的元素時,將引發異常。

您可以做的是將ArrayList添加到Pareto_set_List ,如下所示:

Pareto_set_List.add(new ArrayList<Integer>());

您可以在此處找到有用的信息在此處找到幾個鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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