假设我们有一个如下的
Collection
集合:Set<Set<Integer>> set = Collections.newSetFromMap(new ConcurrentHashMap<>());
for (int i = 0; i < 10; i++) {
Set<Integer> subSet = Collections.newSetFromMap(new ConcurrentHashMap<>());
subSet.add(1 + (i * 5));
subSet.add(2 + (i * 5));
subSet.add(3 + (i * 5));
subSet.add(4 + (i * 5));
subSet.add(5 + (i * 5));
set.add(subSet);
}
并且处理:
set.stream().forEach(subSet -> subSet.stream().forEach(System.out::println));
或者
set.parallelStream().forEach(subSet -> subSet.stream().forEach(System.out::println));
或者
set.stream().forEach(subSet -> subSet.parallelStream().forEach(System.out::println));
或者
set.parallelStream().forEach(subSet -> subSet.parallelStream().forEach(System.out::println));
所以,请问有人能够解释一下:
- 它们之间有什么区别?
- 哪一个更好?更快?更安全?
- 哪一个适合处理大量数据集合?
- 哪一个适合在每个项目上应用重型进程?