- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
将一个数组列表分配给另一个数组列表与在两个数组列表之间使用 addAll 方法有什么区别?
1 > arrayList = arrayList;
//应该将后面的arrayList的值分配给第一个。
2> arrayList.addAll(arrayList)
//将后面列表的所有数据添加到前面。
第一个完全替换列表中的数据?第二个用于在列表中附加数据(如果已有)???
如果我执行 arrayList.add(arrayList) 而不将任何数据分配给第一个列表,它会插入任何数据吗?
我做了以下代码进行测试,发现了我并不真正知道的结果。
secondList.add("1");
secondList.add("2");
firstList = secondList;
Log.i("CHECK","first list = "+ firstList);
firstList.addAll(secondList);
Log.i("CHECK","Firs list add : "+firstList);
firstList.clear();
firstList.addAll(secondList);
Log.i("CHECK","Firs list add 2 : "+firstList);
结果是:
CHECK: first list = [1, 2]
CHECK: Firs list add : [1, 2, 1, 2]
CHECK: Firs list add 2 : []
我期望最后一个日志的结果如下:[1,2]
如 docs.oracle.com 中所述
addAll- Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's Iterator.
如果列表中没有数据?那么 addAll 会做什么?
最佳答案
当你这样做时:
firstList = secondList;
你所说的实际上是“让firstList
和secondList
引用同一个列表”。该行执行后,只会有一个列表,并且有两个变量都引用该列表。
这就是为什么在清除 firstList
后,secondList
也丢失了所有元素。他们指的是同一件事。这与addAll
无关。当您调用 firstList.addAll(secondList)
时,您基本上是将一个空列表附加到另一个空列表,从而产生一个空列表。
关于java - arraylist = arraylist 和 arraylist.addAll(arraylist) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43271896/
Java API docs say以下关于Collections.addAll The behavior of this convenience method is identical to that
我的代码没有编译,我不太清楚为什么。这是代码: ArrayList classifications = productData .stream()
我对此有点困惑,所以希望能提供一些说明。 public void addAll(List animals) 对比 public void addAll(List animals) 最佳答案 区别在于
每当调用 Collection#addAll 时,它都会创建参数列表的副本,然后将其附加到调用 addAll 的集合。 下面是案例一的代码: if (parentData != 0)
对不起标题,但我不知道如何更好地解释它! 假设我在 Java 中有这个类: public class ToyClass { public int number; } 还有一个名为 ToyCla
我必须将 PaginatedQueryList 添加到来自 dynamoDbMapper.query 的 secondList 以进行测试。我怎样才能实现它? List exampleList = s
如果尝试向阻塞队列添加超过阻塞队列剩余大小的集合,会发生什么?从我目前阅读的文档中并不清楚这一点。 LinkedBlockingQueue foo = new LinkedBlockingQ
在一个方法中,我进行了两次调用。第一个调用从另一个方法构造并返回一个哈希集。第二次调用将这个新构造的集合添加到现有集合中,并作为参数传递给此方法。 public static void someMet
所以我的目标是用从 1 到 x 部分的 y 个随机数填充 arraty,然后计算每个数字重复的次数并打印它。这是代码: int counter = 1; int length = random
我目前正在学习泛型,我有一个任务,我必须创建一个带有 T 类型参数和数组数据成员以及一些方法(setItem、getItem、visitor、condition 和 addAll)的 Array 类。
我正在尝试制作一个创建棋盘的 javafx 程序。但是,当我尝试运行我的程序时,它会在这一行中抛出异常:optionsPane.getChildren().addAll(optionsPane, n_
java.util.Collections 中 addAll 方法的实现只是循环遍历源集合,并为源集合中的每个元素调用接收集合的 add 方法。 因此,如果接收集合的容量很小并且我们要向其中添加许多元
下面的代码用于 ListView 的搜索过滤器。每次更改 tbSearch editText 中的文本时, ListView 中的项目也必须更改。执行进入 if 语句 (txt.length()==0
我正在尝试查找字符串中唯一字符的数量。解决方案必须尽可能高效(时间复杂度 O(N);非常大的数组;一般来说是大 O)。我决定这样做(如果您有更好的解决方案请告诉我)。唯一的问题是,当我尝试运行它时,它
Map> mapp = new HashMap>(); HashSet set1 = new HashSet(); set1.add("a"); HashSet set2 = new HashSet(
import java.util.*; public class MyClass { public static void main(String[] args) { List a = n
我刚刚开始接触 java 和 android。 下面是我的代码,用于在 Activity 中添加所有按钮然后隐藏它们。问题:无论如何,他们是否会自动添加 Activity 中的所有按钮,而不必列出每个
为什么我在执行以下代码时遇到异常。 String[] array1 = {"A","B","C","D","E"}; String[] array2 = {"F","G","H","I"};
如果我想将一个列表添加到另一个列表,我调用 target.adAll(source)。 但是如果我需要先处理列表中的每个值怎么办? 我可以做类似的事情 for(String s: source) {
最近在List.addAll中发现了一个使用流的代码片段,但是我看不出为什么要使用它。 所以给出一个简单的列表。 List subList作为参数传递给方法。有一个是另一个,它是一个字段并且包含相同类
我是一名优秀的程序员,十分优秀!