【问题标题】:multidimensional arraylist couldn't insert another array lists inside多维数组列表无法在其中插入另一个数组列表
【发布时间】:2012-03-04 21:47:07
【问题描述】:

我正在尝试创建一个多维数组列表。但它没有添加这是我的代码

这里是初始化

     public class BinList {

private ArrayList<Garbage> GarbageList;
private int[] PenaltyArray = new int[10];
private ArrayList BoostList;

这是构造函数

public BinList() {
    BoostList = new ArrayList<Integer>();
}

这是方法,该方法有两个参数,第一个是文件路径,第二个是从 1 到 10 的循环。所以我读取文件并将每一行的信息与循环号发送到另一个方法创建arraylist(ArrayList)并且它工作正常,所以当这个方法完成并且所有文件都被读取时,我将arraylist(ArrayList)插入到arraylist(ArrayList BoostList)中,但是这个arraylist中没有新值。我在这里做错了吗?如果需要更多代码,请告诉我

     public void ReadLine(String filePath, int Container) {
    try {
        File file = new File(filePath);
        Scanner scan = new Scanner(file);
        GarbageList = new ArrayList<Garbage>();
        while (scan.hasNextLine()) {
            String readLine = scan.nextLine();

            if (readLine != null) {

                getSplitLinesOrders(readLine, Container);
            }
        }

        ((ArrayList) BoostList.get(Container)).add(GarbageList);


    } catch (Exception e) {
    }
} 

【问题讨论】:

    标签: java multidimensional-array arraylist


    【解决方案1】:

    您正在尝试从 BoostList 获取 ArrayList:

    ((ArrayList) BoostList.get(Container)).add(GarbageList);
    

    但你从来没有向 BoostList 添加任何东西,所以这总是会失败。

    您捕获异常但默默地吞下它们(您不会打印错误)所以这个问题被隐藏了。

    【讨论】:

      【解决方案2】:

      您的多维 ArrayList 很奇怪。您是否考虑过使用Map

      或者,在您的情况下,您可能应该使用 Guava Multimap。这是解释这些概念的an info page

      【讨论】:

        猜你喜欢
        • 2019-12-03
        • 2012-10-18
        • 2017-11-16
        • 1970-01-01
        • 1970-01-01
        • 2021-12-31
        • 2013-05-17
        • 2019-04-03
        • 2014-11-26
        相关资源
        最近更新 更多