2011-07-08 144 views
3

我不確定要理解在編程語言中術語「展平」的含義。 更確切地說,「扁平化收藏品」意味着什麼?展平集合的集合

這是否意味着類似於: Collection< Collection<Object>> - >Collection<Object>

回答

1

This是一些文檔。

此外,this可能會有所幫助:

[[1], 2, [[3,4], 5], [[[]]], [[[6]]], 7, 8, []] => [1, 2, 3, 4, 5, 6, 7, 8] 

我認爲一個非正式的定義是「遞歸得到當前集合中的所有內容,並把所有的內容到一個單一的集合」。當然,遞歸可以被忽略,在這種情況下,只有一層會失敗。

+0

謝謝,這是我一直在尋找。 –

1

我會說是的。它可以是隻刪除一個級別的集合或所有級別的集合。

1

拼合是將多個集合(它們自己存儲在一個集合中)轉換爲一個集合的過程,該集合包含之前集合中的所有項目。

假設你有一個隨機字符串的一些列表:

["apple", "ball"], ["cat", "dog"], ["elephant", "frog"] 

那你這三個列表存儲在一個列表:

[["apple", "ball"], ["cat", "dog"], ["elephant", "frog"]] 

當你壓扁列表中,你將與一個結束包含所有元素的列表:

["apple", "ball", "cat", "dog", "elephant", "frog"] 
1

它表示從所有el創建單個集合在另一個集合中,不管這些元素是單獨的項目還是集合本身。因此,鑑於這樣的事情:

{{0, 1, 2}, 3, 4, {5, 6}, 7} 

{0,1,2}{5,6}是集合,那麼你將有一個結果數組是這樣的:

{0, 1, 2, 3, 4, 5, 6, 7} 
1

扁平化收集意味着將它們放入單個對象中。

所以,如果我有一個包含了三個要素的兩個對象,字符串名稱,字符串年齡和收集兒童,讓孩子有一個名字元素,像這樣

陣列

Obj 1: Name: Kevin Age: 27 Children: [{Name: Matt Age: 6}] 
Obj 2: Name: Jim Age: 22 Children: [{Name: Jake Age: 3},{Name: Jerry Age: 7}] 
的時代元素的數組

展平它看起來像:

Obj1: Name: Kevin Age: 27 Child1Name: Matt Child1Age: 6 
Obj1: Name: Jim Age: 22 Child1Name: Jake Child1Age: 3 Child2Name: Jerry Child2Age: 7 

不同的是,所述第一組中包含OBJ1對象的數組,而在第二組OBJ1是將children數組中的對象作爲元素添加的一個對象。