java - 如何编写返回普通字符串的哈希集的方法

标签 java set hashset

如何创建一个新的哈希集来组合其他两个集中的公共(public)字符串值(区分大小写)?

主要方法包含:

    public static void main(String[] args) {
    Set<String> set1 = new HashSet<String>();
    Set<String> set2 = new HashSet<String>();
    set1.add("blue");
    set1.add("red");
    set1.add("yellow");
    set2.add("blue");
    set2.add("red");
    set2.add("orange");
}

方法头是:

 public static Set<String> buildList (Set<String>set1, Set<String>set2){
 set<String> set3 = new HasSet<String>();
 }

最佳答案

如果我正确理解你的问题,那么你需要保留 HashSet 中的共同值,如果是,则使用 set1.retainAll(set2)

代码:

public static void main(String[] args) {
        Set<String> set1 = new HashSet<String>();
        Set<String> set2 = new HashSet<String>();
        set1.add("blue");
        set1.add("red");
        set1.add("yellow");
        set2.add("blue");
        set2.add("red");
        set2.add("orange");

        set1.retainAll(set2);
        System.out.println(set1);
    }

输出:

[red, blue]

您可以修改 buildList 方法,如下所述,该方法返回公共(public)字符串列表作为结果。

 public static Set<String> buildList (Set<String>set1, Set<String>set2){
   set1.retainAll(set2);
   return set1;
 }

关于java - 如何编写返回普通字符串的哈希集的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29320972/

相关文章:

java - 使用 HashSet 相对于 HashMap 的优点

java - 将 java.util.Map 声明为 json-schema

c# - Java隐藏: Any Way for Client Classes to Call `super` ?

java - 是否可以在不可修改的 ObservableSet 上注册 SetChangeListener?

Python 设置 1 和 True 的插值

java - 在没有自定义类的情况下覆盖 equals

c# - 如何在不区分大小写的模式下使用 HashSet<string>.Contains() 方法?

java - 如何获取以派生字符开头的名称的节字符

java - 禁用 MultiDex Android Studio

python - 获取 3 个列表之间的差异