From 04bcf81c975cddfe11ceb0b6b534cdb49828376c Mon Sep 17 00:00:00 2001 From: Joe <736777445@qq.com> Date: Sat, 4 Apr 2020 21:49:29 +0800 Subject: [PATCH] =?UTF-8?q?Update=2047.=20=E4=BC=98=E5=85=88=E4=BD=BF?= =?UTF-8?q?=E7=94=A8Collection=E8=80=8C=E4=B8=8D=E6=98=AFStream=E6=9D=A5?= =?UTF-8?q?=E4=BD=9C=E4=B8=BA=E6=96=B9=E6=B3=95=E7=9A=84=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../47. 优先使用Collection而不是Stream来作为方法的返回类型.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notes/47. 优先使用Collection而不是Stream来作为方法的返回类型.md b/docs/notes/47. 优先使用Collection而不是Stream来作为方法的返回类型.md index 21d4405..3c034e4 100644 --- a/docs/notes/47. 优先使用Collection而不是Stream来作为方法的返回类型.md +++ b/docs/notes/47. 优先使用Collection而不是Stream来作为方法的返回类型.md @@ -61,7 +61,7 @@ public static Stream streamOf(Iterable iterable) {   如果你需要返回一很大但可以简洁地表示的序列,请考虑实现一个专用集合。 例如,假设返回给定集合的幂集(power set:就是原集合中所有的子集(包括全集和空集)构成的集族),该集包含其所有子集。 {a,b,c} 的幂集为 {{},{a},{b},{c},{a,b},{a,c},{b,c},{a,b, c}}。 如果一个集合具有 n 个元素,则幂集具有 2n 个。 因此,你甚至不应考虑将幂集存储在标准集合实现中。 但是,在 `AbstractList` 的帮助下,很容易为此实现自定义集合。 -  诀窍是使用幂集中每个元素的索引作为位向量(bit vector),其中索引中的第 n 位指示源集合中是否存在第 n 个元素。 本质上,从 0 到 2n-1 的二进制数和 n 个元素集和的幂集之间存在自然映射。 这是代码: +  诀窍是使用幂集中每个元素的索引作为位向量(bit vector),其中索引中的第 n 位指示源集合中是否存在第 n 个元素。 本质上,从 0 到 2n-1 的二进制数和 n 个元素集和的幂集之间存在自然映射。 这是代码: ```java // Returns the power set of an input set as custom collection