2011-07-08 5 views
3

Je ne suis pas sûr de comprendre ce que signifie le terme «aplatissement» dans les langages de programmation. Plus précisément, que signifie «aplatir une collection de collections»?Aplatissement d'une collection de collections

Cela signifie-t-il quelque chose comme: Collection< Collection<Object>> ->Collection<Object>?

Répondre

1

This est un doc.

En outre, this pourrait être utile:

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

Je pense qu'une définition informelle serait « obtenir récursive tout le contenu de la collection actuelle et de mettre tout le contenu en une seule collection ». Bien sûr, le récursif pourrait être ignoré, dans ce cas, une seule couche serait faltten.

+0

Merci, c'est ce que je cherchais. –

1

Je dirais oui. Il peut s'agir de supprimer un seul niveau de collections ou tous les niveaux de collection.

1

L'aplatissement est le processus de conversion de plusieurs collections (elles-mêmes stockées dans une seule collection) en une seule collection contenant tous les éléments des collections que vous possédiez auparavant.

Supposons que vous avez des listes de chaînes aléatoires:

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

Ensuite, vous stockez ces trois listes dans une liste:

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

Lorsque vous aplatissez cette liste, vous vous retrouverez avec un liste qui contient tous les éléments:

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

Cela signifie de créer une collection unique de tous les el dans une autre collection, indépendamment du fait que ces éléments sont des éléments individuels ou des collections elles-mêmes. Donc, étant donné quelque chose comme ceci:

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

{0, 1, 2} et {5, 6} sont des collections, alors vous auriez un tableau résultant comme ceci:

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

Pour aplatir une collection signifie les placer dans un seul objet.

Donc, si j'ai un tableau avec deux objets qui ont trois éléments, String name, âge String et Collection Les enfants, où les enfants a un élément de nom et un élément d'âge comme si

Tableau

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}] 

aplaties il ressemblerait à:

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

la différence est que dans le premier groupe Obj1 contient un tableau d'objets, tandis que dans le second groupe OBJ1 est un objet avec les objets dans le tableau enfants ajoutés en tant qu'éléments.

Questions connexes