相关疑难解决方法(0)

如何计算两组的交集?

可能重复:
有效地查找可变数量的字符串集的交集

说,有两个Hashset,如何计算它们的交集?

Set<String> s1 = new HashSet<String>();

Set<String> s2 = new HashSet<String>();

S1 INT S2 ?
Run Code Online (Sandbox Code Playgroud)

java intersection set hashset

188
推荐指数
2
解决办法
18万
查看次数

在Java中有效地计算两个集合的交集?

在Java中查找两个非稀疏集合的交集大小的最有效方法是什么?这是一个我将大量调用大型集合的操作,因此优化很重要.我无法修改原始集.

我看过Apache Commons CollectionUtils.intersection,看起来很慢.我目前的方法是采用两组中较小的一组,克隆它,然后在两组中较大的一组上调用.retainAll.

public static int getIntersection(Set<Long> set1, Set<Long> set2) {
    boolean set1IsLarger = set1.size() > set2.size();
    Set<Long> cloneSet = new HashSet<Long>(set1IsLarger ? set2 : set1);
    cloneSet.retainAll(set1IsLarger ? set1 : set2);
    return cloneSet.size();
}
Run Code Online (Sandbox Code Playgroud)

java optimization performance set

55
推荐指数
4
解决办法
6万
查看次数

HashSet查找复杂性?

在最坏的情况下contains,单个查找操作OR 是否O(n)合适?那么,对于n元素的查找hashSet会是O(n^2)什么?

java time-complexity

38
推荐指数
2
解决办法
3万
查看次数

检查enumsets是否具有相同的枚举值

我有两个EnumSet.

EnumSet.of(A1, A2, A3);
EnumSet.of(A3, A4, A5, A6);
Run Code Online (Sandbox Code Playgroud)

我想找到两个集合中存在哪些值.(在这种情况下,A3.)

有没有快速的方法呢?

java collections enums enumset

7
推荐指数
4
解决办法
2154
查看次数

判断两个HashSet是否有重复值

我需要一个像下面这样的函数,

boolean hasDuplicateValue(HashSet hs1, HashSet hs2) {        
    // return false;
}
Run Code Online (Sandbox Code Playgroud)

这个线程有效地找到可变数量的字符串集的交集讨论了类似的问题,但是在这个线程中他们还需要交集值,这是我不需要的。因此,它可能会增加我不需要的额外计算复杂性。

java hashset

0
推荐指数
1
解决办法
716
查看次数

在多个字符串中查找相似的单词(交集)

例如,

String a = "cat dog monkey";
String b = "cat cow monkey";
String c = "cat dog duck";
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何快速有效的方法在Java中进行,以便找到多个字符串的相交字,在这种情况下将是"cat".

java string

-3
推荐指数
1
解决办法
778
查看次数