- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在一个方法中,我进行了两次调用。第一个调用从另一个方法构造并返回一个哈希集。第二次调用将这个新构造的集合添加到现有集合中,并作为参数传递给此方法。
public static void someMethod(java.util.HashSet<Coordinate> invalidPositions)
{
java.util.HashSet<Coordinate> newSet = SomeClass.getInvalidPositions(x, y);
invalidPositions.addAll(newSet);
}
很多时候,传入的集合(预先存在的集合)会添加另一个内容与其自身相同的集合!即,setOne.equals(setTwo) == true
然而,JavaDocs 没有添加其他集合,而是说 addAll()
:
public boolean addAll(Collection c)
Adds all of the elements in the specified collection to this collection (optional operation). The behavior of this operation is undefined if the specified collection is modified while the operation is in progress. (This implies that the behavior of this call is undefined if the specified collection is this collection, and this collection is nonempty.)
我的理解正确吗?如果两个集合相等,java将不支持一个集合和另一个集合相加?如果这是真的,那么有什么理由以这种方式设计语言呢?
最佳答案
a.equals(b)
与 a == b
不同。
javadoc 的意思是,如果执行 a.addAll(a)
,则行为未定义。只要它们是不同的实例,执行 a.addAll(b)
就没有问题。
关于java - 为什么 addAll() 不支持将集合的副本添加到集合中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32534528/
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作为参数传递给方法。有一个是另一个,它是一个字段并且包含相同类
我是一名优秀的程序员,十分优秀!