展平集合集合

时间:2011-07-08 15:08:16

标签: programming-languages

我不确定在编程语言中“扁平化”一词是什么意思。 更确切地说,“展平收藏品集合”是什么意思?

这是否意味着: Collection< Collection< Object >> - &gt; Collection< Object >

5 个答案:

答案 0 :(得分:2)

This是一些文档。

此外,this可能会有所帮助:

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

我认为非正式定义将“递归获取当前集合的所有内容并将所有内容放入一个集合中”。当然,递归可以被忽略,在这种情况下,只有一层可以进行。

答案 1 :(得分:2)

展平是将多个集合(它们自己存储在一个集合中)转换为一个集合的过程,该集合包含您之前集合中的所有项目。

假设您有一些随机字符串列表:

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

然后将这三个列表存储在列表中:

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

当您展平该列表时,您最终会得到一个包含所有元素的列表:

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

答案 2 :(得分:2)

这意味着从另一个集合中的所有元素创建单个集合,无论这些元素是单个项目还是集合本身。所以,给出这样的东西:

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

{0,1,2} {5,6} 是集合,那么你会得到一个像这样的结果数组:

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

答案 3 :(得分:1)

我会说是的。它可以只删除一个级别的集合或所有级别的集合。

答案 4 :(得分:1)

扁平化集合意味着将它们放置在单个对象中。

所以如果我有一个包含两个对象的数组,这两个对象有三个元素,String name,String age和Collection Children,其中children有一个name元素和一个age元素,如此

阵列

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数组中的对象被添加为元素。