有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何迭代2D LinkedHashSet并打印其内容?

我正在为我的程序使用2D LinkedHashSet。我想知道如何在不执行此操作的情况下迭代二维哈希集并打印其内容:

系统。出来println(初始化哈希集的名称)

以下是我的2D LinkedHashSet初始化代码:

LinkedHashSet<LinkedHashSet<String>> block = new LinkedHashSet<LinkedHashSet<String>>();

共 (2) 个答案

  1. # 1 楼答案

    如果想要使用功能解决方案,可以使用以下方法:

    Ideone demo

    import java.util.LinkedHashSet;
    
    public class Streamify {
        public static void main (final String... args) {
            final LinkedHashSet<LinkedHashSet<String>> block = new LinkedHashSet<>();
            final LinkedHashSet<String> lineOne = new LinkedHashSet<>();
            lineOne.add("Hello");
            lineOne.add("World");
            block.add(lineOne);
            final LinkedHashSet<String> lineTwo = new LinkedHashSet<>();
            lineTwo.add("Hi");
            lineTwo.add("Universe");
            block.add(lineTwo);
    
            block.forEach(line -> {
                line.forEach(System.out::print);
                System.out.println();
            });
        }
    }
    
  2. # 2 楼答案

    您可以为此使用2个循环,类似于您对阵列的使用方式:

    for (Set<String> innerSet : block) {
        for (String string : innerSet) {
            System.out.println(string);
        }
    }
    

    还可以使用流打印每个元素:

    block.stream()
            .flatMap(Collection::stream)
            .forEach(System.out::println);