如何以Android过滤Java集合,以便保留我的原始集合?在不更改原始集合的情况下过滤Java集合
原始集合必须保持不变,并且对已过滤集合所做的任何更改只会影响它,而不会影响原始集合。
是否有可能在不添加其他库的情况下实现此目的?我读过apache和番石榴可能会使这个过程更容易。
如何以Android过滤Java集合,以便保留我的原始集合?在不更改原始集合的情况下过滤Java集合
原始集合必须保持不变,并且对已过滤集合所做的任何更改只会影响它,而不会影响原始集合。
是否有可能在不添加其他库的情况下实现此目的?我读过apache和番石榴可能会使这个过程更容易。
正如你所看到的,运行下面的代码(Java 8)不修改原始集合:
List<Integer> lst = new LinkedList<>();
lst.add(1);
lst.add(2);
lst.add(3);
lst.add(4);
lst.add(5);
lst.stream()
.filter(x -> (x % 2 == 0))
.collect(Collectors.toList())
.forEach(x -> System.out.print(x + " "));
System.out.println("\n==============");
System.out.println(Arrays.toString(lst.toArray()));
输出
2 4
==============
[1, 2, 3, 4, 5]
你就不能得到一个流过滤它? – ChiefTwoPencils
我需要这个工作在Android @ChiefTwoPencils – Rohan