相关疑难解决方法(0)

将多个集合合并为一个逻辑集合?

假设,我有一个恒定数量的集合(例如3个ArrayLists)作为类的成员.现在,我想将所有元素公开给其他类,以便它们可以简单地遍历所有元素(理想情况下,只读).我正在使用guava集合,我想知道如何使用guava iterables/iterators来生成内部集合的逻辑视图,而无需制作临时副本.

java collections guava

107
推荐指数
3
解决办法
11万
查看次数

有没有更好的方法在java中组合两个字符串集?

我需要结合两个字符串集,同时过滤掉冗余信息,这是我提出的解决方案,有没有更好的方法,任何人都可以建议?也许是我忽视的东西?谷歌没有运气.

Set<String> oldStringSet = getOldStringSet();
Set<String> newStringSet = getNewStringSet();

for(String currentString : oldStringSet)
{
    if (!newStringSet.contains(currentString))
    {
        newStringSet.add(currentString);
    }
}
Run Code Online (Sandbox Code Playgroud)

java

74
推荐指数
6
解决办法
7万
查看次数

用番石榴联合两个ImmutableEnumSets

我想ImmutableEnumSets从番石榴结合两个.这是我的尝试:

public final class OurColors {

    public enum Colors {
        RED,
        GREEN,
        BLUE,
        YELLOW,
        PINK,
        BLACK
    }

    public final static ImmutableSet<Colors> myColorSet =
            Sets.immutableEnumSet(Colors.BLUE,
                                  Colors.GREEN);

    public final static ImmutableSet<Colors> yourColorSet =
            Sets.immutableEnumSet(Colors.YELLOW,
                                  Colors.PINK);

    public final static ImmutableSet<Colors> ourColorSet =
            Sets.union(myColorSet, ourColorSet);
}
Run Code Online (Sandbox Code Playgroud)

该字段ourColorSet不编译,它失败了

Type mismatch: cannot convert from Sets.SetView<OurColors.Colors> to
ImmutableSet<OurColors.Colors>
Run Code Online (Sandbox Code Playgroud)

工会如何正确完成?

java immutability enumset guava

2
推荐指数
1
解决办法
985
查看次数

标签 统计

java ×3

guava ×2

collections ×1

enumset ×1

immutability ×1