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

24
demandé sur blue-sky 2013-11-01 03:59:48

1 réponses

Stream de Java 8 est ce qu'il veut dire par vues. Ils ont deux propriétés importantes:

  1. ils ne sont pas stricts, ce qui signifie qu'ils ne produisent le résultat qu'à la demande.
  2. ils "fusionnent" ensemble plusieurs opérations, de sorte que vous pouvez faire plusieurs appels map ou filter, 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.

29
répondu Daniel C. Sobral 2013-11-01 00:48:02