向列表中添加元素将更新其所有先前元素

马文

我有一个类型列表,String[]其中在运行n次的循环内添加数组。

String[] parsedFields = new String[fieldsToParse.length];
List<String[]> myList= new ArrayList<String[]>();

while (getType()) {
    // ...
    for (int i = 0; i < fieldsToParse.length; i++) {
        if (name.equals(fieldsToParse[i])) {
parsedFields[i] = fieldsToParse;
// ...
        }
    }
    myList.add(parsedFields);
}

每次将数组添加到列表时,该数组都是相同的,但值是不同的。

问题是每次我在新迭代中添加数组时,列表中所有以前添加的数组都会根据最后添加的数组的内容进行更新吗?

例如,在第一次迭代中myList包含:

myList > array > [0] = [1, 1, 'A']

在第二次迭代时,列表将变为:

myList > array > [0] = [2, 2, 'B']
myList > array > [0] = [2, 2, 'B']

第三,它将:

myList > array > [0] = [3, 3, 'C']
myList > array > [0] = [3, 3, 'C']
myList > array > [0] = [3, 3, 'C']

当while循环中断时,列表中的所有数组元素都包含相同的数组(实际上是最后添加的数组)。我该如何从更新的先前添加的阵列中阻止它,请提供帮助。

哈桑

将parsedFields的声明移到while循环内。否则,您将只更新相同的数组,并在myList中进行新引用以指向该数组。

List<String[]> myList = new ArrayList<String[]>();

while (getType()) {

    String[] parsedFields = new String[fieldsToParse.length];
    // …

    for (int i = 0; i < fieldsToParse.length; i++) {
        if (name.equals(fieldsToParse[i])) {
            parsedFields[i] = fieldsToParse;
// ...
        }
    }
    myList.add(parsedFields);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在列表中添加元素会删除先前的元素

来自分类Dev

当我向Java HashSet中添加元素时,所有元素都会更改

来自分类Dev

在R中的for循环中向列表中添加元素

来自分类Dev

在R中的for循环中向列表中添加元素

来自分类Dev

双向有向循环列表中的赋值运算符以错误的顺序添加元素

来自分类Dev

在列表中的元素之间添加元素

来自分类Dev

向现有画布添加元素

来自分类Dev

向列表中添加元素或从列表中删除元素(AngularJS)

来自分类Dev

在 NSMutableArray 中添加元素后,先前的元素被替换

来自分类Dev

如何向集合中添加元素

来自分类Dev

有没有什么简单的方法可以在列表中的列表中添加元素以使列表中的所有列表具有相同数量的元素?

来自分类Dev

在python列表中添加/添加元素

来自分类Dev

向ArrayList添加元素,如果元素在ArrayList中具有相同的值,则无法添加

来自分类Dev

在Prolog中的列表中添加元素

来自分类Dev

在R中的列表内添加元素

来自分类Dev

在列表中添加元素值

来自分类Dev

在列表Python中添加元素

来自分类Dev

在列表中添加元组元素

来自分类Dev

在列表Python中添加元素

来自分类Dev

在列表中添加元素值

来自分类Dev

在Polymer元素中向SVG添加元素

来自分类Dev

向数组添加元素

来自分类Dev

向div添加元素

来自分类Dev

如何从MATLAB向C#列表添加元素?

来自分类Dev

如何从MATLAB向C#列表添加元素?

来自分类Dev

如何在确保列表中包含Scala中最新的n个元素的同时向列表中添加元素

来自分类Dev

如何在列表推导式中向字典添加元素?

来自分类Dev

C# 向现有 XML 添加元素

来自分类Dev

终止在Java方法中向List中添加元素

Related 相关文章

热门标签

归档