2011-07-08 93 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数组中的对象作为元素添加的一个对象。