Llegamos a ustedes gracias a:



Noticias

OpenJDK propone colecciones secuenciadas en Java

[24/10/2022] Abordando un tema que ha sido fuente de continuas quejas, Java podría añadir colecciones secuenciadas, conjuntos secuenciados y mapas secuenciados, anclados por interfaces para representar colecciones con un orden de encuentro definido.

Una propuesta pendiente en la comunidad OpenJDK definiría interfaces para las colecciones secuenciadas, los conjuntos secuenciados y los mapas secuenciados, y los incorporaría a la jerarquía de tipos de colecciones existente. La motivación del plan son dos lagunas en el marco de las colecciones de Java, la arquitectura del lenguaje para representar y manipular colecciones: Carece de un tipo de colección que represente una secuencia de elementos con un orden de encuentro definido, y carece de un conjunto uniforme de operaciones que se apliquen a dichas operaciones.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

Estas lagunas, según la propuesta, han sido una fuente reiterada de quejas y problemas. Por ejemplo, aunque List y Deque definen un orden de encuentro, su supertipo común, Collection, no lo hace.

Con la propuesta de colecciones secuenciadas, todos los nuevos métodos declarados en las nuevas interfaces tienen implementaciones por defecto. Las colecciones secuenciadas se añadirían a la edición estándar de Java. Lo más pronto que podría llegar sería con el JDK 20, prevista para el próximo mes de marzo, ya que el JDK 19 acaba de llegar el mes pasado como parte de la cadencia de lanzamientos semestrales de Java estándar.

Una colección secuenciada se define como una colección cuyos elementos tienen un orden de encuentro definido. Una colección de este tipo tiene elementos primeros y últimos, y los elementos entre ellos tienen sucesores y predecesores. Las operaciones comunes se admiten en cualquiera de los extremos de una colección secuenciada. Se admite el procesamiento de elementos del primero al último y del último al primero. La propuesta marca una evolución incremental de la propuesta ReversibleCollections del 2021, para añadir una interfaz ReversibleCollections al marco de las colecciones.