热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我如何组合两个SetInsideHashMapjava的值

如何解决《我如何组合两个SetInsideHashMapjava的值》经验,为你挑选了2个好方法。

我在一个hashmap里面有两个Set,我希望在另一个Set中合并那些值:

for (Map.Entry> entry : myhashmap.entrySet()) {
  // in the first iteration  entry.getValue() give me elementValues1 Set
  // and the second give elementValues2 
}

例如,我在第一次迭代中的第一个HashSet包含这些值:A, B.

喜欢 :

Set elementValues1 = new HashSet();
elementValues1.add("A");
elementValues1.add("B");

我在第二次迭代中的第二个Set包含:C, D.

喜欢 :

Set elementValues2 = new HashSet();
elementValues2.add("C");
elementValues2.add("D");

我想在循环中创建另一个组合两个Set的值:Like:

Set elementValues3 = new HashSet();

elementValues3 应包含:AC AD BC BD

有人可以帮我解决这个问题,提前谢谢



1> Nikolas..:

如果你真的想要String对象-分隔符,只需循环两个集合并将合并的值添加到第三个:

Set elementValues3 = new HashSet();
for (String s1: elementValues1) {
    for (String s2: elementValues2) {
        elementValues3.add(s1 + "-" + s2);
    }
}

得到的结果将是:

[AC,AD,BC,BD]



2> user2260755..:

在Java 8中,您可以从流中受益:

Set newSet 
       = elementValues1.stream()
       .flatMap(a -> elementValues2.stream()
       .map(b -> a + '-' + b))
       .collect(Collectors.toSet());


推荐阅读
author-avatar
200355人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有