如何遍历 2D LinkedHashSet 并打印其内容?
How to iterate through a 2D LinkedHashSet and print its contents?
我正在为我的程序使用 2D LinkedHashSet。我想知道如何在不执行此操作的情况下遍历二维 HashSet 并打印其内容:
System.out.println(初始化哈希集的名称)
这是我的 2D LinkedHashSet 初始化代码:
LinkedHashSet<LinkedHashSet<String>> block = new LinkedHashSet<LinkedHashSet<String>>();
您可以为此使用 2 个循环,类似于您对数组的处理方式:
for (Set<String> innerSet : block) {
for (String string : innerSet) {
System.out.println(string);
}
}
您还可以使用流来打印每个元素:
block.stream()
.flatMap(Collection::stream)
.forEach(System.out::println);
如果想使用功能性解决方案,可以使用以下方法:
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();
});
}
}
我正在为我的程序使用 2D LinkedHashSet。我想知道如何在不执行此操作的情况下遍历二维 HashSet 并打印其内容:
System.out.println(初始化哈希集的名称)
这是我的 2D LinkedHashSet 初始化代码:
LinkedHashSet<LinkedHashSet<String>> block = new LinkedHashSet<LinkedHashSet<String>>();
您可以为此使用 2 个循环,类似于您对数组的处理方式:
for (Set<String> innerSet : block) {
for (String string : innerSet) {
System.out.println(string);
}
}
您还可以使用流来打印每个元素:
block.stream()
.flatMap(Collection::stream)
.forEach(System.out::println);
如果想使用功能性解决方案,可以使用以下方法:
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();
});
}
}