Qu'est-ce Qu'une "vue" Java 8?
Je regarde une conférence de Paul Philips:
Http://www.youtube.com/watch?v=TS1lpKBMkgg
À 12: 48, Il dit "en Java 8 leurs vues fonctionnent réellement" en comparant Scala et Java
Quelles sont les "vues" Java et quel est L'équivalent de Scala ?
Mise à jour: grâce à la réponse de Daniel, j'ai trouvé cet article utile: http://www.scala-lang.org/docu/files/collections-api/collections_42.html
1 réponses
Stream
de Java 8 est ce qu'il veut dire par vues. Ils ont deux propriétés importantes:
- ils ne sont pas stricts, ce qui signifie qu'ils ne produisent le résultat qu'à la demande.
- ils "fusionnent" ensemble plusieurs opérations, de sorte que vous pouvez faire plusieurs appels
map
oufilter
, et la collection d'origine ne sera toujours itérée qu'une seule fois.
Les équivalents de Scala sont les différentes collections View
, que vous pouvez obtenir en appelant .view
sur une collection existante. Ils ont ces propriétés -- ce sont les propriétés définissant, après tout-mais sont en proie à des lacunes et des bugs, sans parler d'une implémentation très complexe.
Paul a joué avec des implémentations alternatives pour cela, mais cela n'a jamais été une priorité de les remplacer.