Java9 Parte 5: mejora y optimización de la colección de colecciones

En el próximo período de tiempo planeo escribir una serie de artículos sobre Java 9. Aunque Java 9 no es una versión básica de Java como Java 8 o Java 11, todavía hay muchas características a las que vale la pena prestar atención. Esperando su atención, escribiré una serie de artículos sobre Java 9, alrededor de diez artículos, y este artículo es el quinto artículo.

Este artículo lo lleva a comprender rápidamente qué cambios y mejoras más útiles se han producido en las subclases de recopilación de las 9 recopilaciones en Java.

Uno, proporciona un Of()método para crear una colección.

1.1. Creación de un objeto de colección Set

Java 9 proporciona una serie de métodos de fábrica de () para construir objetos de colección Set más fácilmente. Usando el método of () para construir java.util.Set, no necesitamos agregar () elemento de datos por elemento. Pero debe tenerse en cuenta que el objeto de colección Set construido de esta manera no se puede cambiar una vez construido, y no se pueden agregar más elementos de colección.

Set<Integer> integers = Set.of(2, 6, 7, 10);
System.out.println(integers);  //[2, 10, 6, 7]

También hay muchos métodos de fábrica sobrecargados de () para que los usemos

 of()//空的set
 of(E)
 of(E, E)
 of(E, E, E)
 //更多 ......
 of(E, E, E, E, E, E, E, E, E, E )// 一直到十个元素
 of(E...)//更多参数

1.2. Construyendo un objeto de colección List

Similar a la colección Set, la clase de colección List también agrega una serie de funciones de fábrica of () para crear objetos de colección List inmutables.

 List<Integer> integers = List.of(2, 6, 7, 10);
 System.out.println(integers); // [2, 6, 7, 10]

1.3. Construir un objeto Mapa

Aunque Map no es una subclase de Colleaction, generalmente lo aprendemos como una colección. La clase Map también agrega una serie de funciones de fábrica () para crear objetos Map inmutables. La única diferencia es que los parámetros se pasan en forma de clave / valor.

 Map<Integer, String> map = Map.of(2, "two", 6, "six");
 System.out.println(map); // {2=two, 6=six}

1.4. Utilice Map.ofEntries () y Map.entry ()

El método de fábrica Map.ofEntriesacepta Map.Entry como varargs. Hay otro método estático nuevo relacionado Map.entry(K, V)para crear instancias de entrada.

 Map<Integer, String> map = Map.ofEntries(Map.entry(2, "two"), Map.entry(4, "four"));
 System.out.println(map); //{2=two, 4=four}

二 、 Matrices

Arrays es nuestra clase de herramienta para operaciones de colección, que también se ha mejorado en la versión de Java 9.

2.1.Arrays.mismatch()

Estos nuevos métodos se utilizan para encontrar el primer índice de desajuste entre dos matrices. Por ejemplo, el siguiente código encuentra la primera discrepancia entre dos matrices de enteros. Si no hay ninguna discrepancia, este método devolverá -1.

int[] ints1 = {1, 3, 5, 7, 9};
int[] ints2 = {1, 3, 5, 6, 7};
int i = Arrays.mismatch(ints1, ints2);
System.out.println(i); //3

Otro método de este tipo acepta los parámetros fromIndex y toIndex para encontrar índices relativamente no coincidentes. P.ej:

 int mismatch(int[] a, int aFromIndex, int aToIndex, 
                int[] b, int bFromIndex, int bToIndex)

Desde el primer elemento del índice arrayA y el segundo elemento del índice arrayB, se realiza la búsqueda del primer elemento no coincidente.

 int[] arrayA = {-2, 1, 3, 5, 7, 9};
 int[] arrayB = {-1, 0, 1, 3, 5, 7, 10};
 int j = Arrays.mismatch(arrayA, 1, arrayA.length, arrayB, 2, arrayB.length);
 System.out.println(j);

2.2.Arrays.equals()

Y Arrays.mismatch()algo similar, Arrays.equals()usado para determinar los elementos en las dos matrices son intervalos iguales. El nuevo método agrega los parámetros fromIndex y toIndex a las dos matrices comparadas. Estos métodos verifican la igualdad de dos matrices en función de las posiciones de índice relativas de las dos matrices.

 String[] sa = {"d", "e", "f", "g", "h"};
 String[] sb = {"a", "b", "c", "d", "e", "f"};
 boolean b = Arrays.equals(sa, 0, 2, sb, 3, 5);
 System.out.println(b);  //true

Desde el índice 0-2 de la matriz sa, compare los elementos con el índice 3-5 de la matriz sb. El resultado es verdadero igual.

Bienvenido a seguir mi blog, hay muchas colecciones boutique.

  • Este artículo se reproduce con una indicación de la fuente (se debe adjuntar la conexión y el texto no se puede reproducir únicamente): Blog de Letter Brother .

Si crees que es útil para ti, ¡dale me gusta y compártelo! ¡Tu apoyo es mi inagotable motivación creativa! . Además, el autor ha publicado el siguiente contenido de alta calidad recientemente y espero su atención.

Supongo que te gusta

Origin blog.csdn.net/hanxiaotongtong/article/details/109141002
Recomendado
Clasificación