相关疑难解决方法(0)

找到两个不同列表是否包含完全相同的元素的简单方法?

在标准Java库中,查找两个列表是否包含完全相同的元素的最简单方法是什么?

如果两个列表是相同的实例,则无关紧要,如果列表的类型参数不同则无关紧要.

例如

List list1
List<String> list2; 
// ... construct etc

list1.add("A");
list2.add("A"); 
// the function, given these two lists, should return true
Run Code Online (Sandbox Code Playgroud)

我知道可能有些东西盯着我:-)


编辑:为了澄清,我正在按顺序寻找完全相同的元素和元素数量.


编辑:谢谢你指出我看不见的明显答案:-)

虽然到目前为止给出的所有答案都是正确的,但有些答案比其他答案更正确,所以在接受之前我会等待一段时间以获得最好的四舍五入的答案.

java collections

232
推荐指数
8
解决办法
34万
查看次数

2 HashMap之间的平等

在我的类的equals()方法中,我使用私有实例HashMap变量来比较相等性.但是,在比较它们的HashMap变量时,2个不同的对象仍然显示相等.进一步的研究将我带到了链接:链接在这里.但是,它只是说HashMap1.equals(HashMap2)无法工作的原因是因为"如果不编写自定义代码,就无法对Java的数组进行相同的测试."

我不明白这个原因.任何人都可以指导我一个精心设计的原因吗?

java equals hashmap

22
推荐指数
2
解决办法
6万
查看次数

通过加入键来展平地图

给定一个只有关键字键的嵌套映射{:foo {:bar 1 :baz [2 3] :qux {:quux 4}} :corge 5},如何实现,flatten-map以便(flatten-map {:foo {:bar 1 :baz [2 3] :qux {:quux 4}} :corge 5} "-")产生类似的东西{:foo-bar 1 :foo-baz [2 3] :foo-qux-quux 4 :corge 5}.

我最好的尝试是:

(defn flatten-map
  ([form separator] (flatten-map form separator nil))
  ([form separator prefix]
  (if (map? form)
    (into {} (map (fn [[k v]]
                    [(keyword (str prefix (name k)))
                     (flatten-map v separator (str prefix (name k) separator))])
                  form))
    form)))
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我不能flatten-map只选择"叶子".

clojure

11
推荐指数
1
解决办法
1492
查看次数

Java 8,比较两个映射并返回结果

我正在使用Java 8功能比较2个地图,并根据条件想要返回结果.使用.forEach显示编译时错误,基本上,返回是从Lambda表达式返回而不是从循环返回.如何从包围lambda的循环返回?
请注意,我没有比较两个地图对象的相等性

nMap.forEach((k,v) -> {
    if (!mMap.containsKey(k) || mMap.get(k) < v) {
        return -1;
    }
});
Run Code Online (Sandbox Code Playgroud)

java foreach lambda java-8 java-stream

8
推荐指数
1
解决办法
2134
查看次数

标签 统计

java ×3

clojure ×1

collections ×1

equals ×1

foreach ×1

hashmap ×1

java-8 ×1

java-stream ×1

lambda ×1