如何以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