Planejo escrever uma série de artigos sobre o Java 9. Embora o Java 9 não seja uma versão básica do Java como o Java 8 ou o Java 11, ainda existem muitos recursos aos quais vale a pena prestar atenção. Aguardando sua atenção, escreverei uma série de artigos sobre Java 9, cerca de dez artigos, e este é o quinto artigo.
Este artigo leva você a entender rapidamente quais mudanças e aprimoramentos mais úteis ocorreram nas subclasses de Colleaction das 9 coleções em Java.
Um, fornece um Of()
método para criar uma coleção
1.1. Construindo um objeto de coleção Set
Java 9 fornece uma série de métodos de fábrica de () para construir objetos de coleção Set com mais facilidade. Usando o método of () para construir java.util.Set, não precisamos adicionar () dados elemento por elemento. Mas deve-se observar que o objeto de coleção Set construído dessa forma não pode ser alterado depois de construído e nenhum outro elemento de coleção pode ser adicionado.
Set<Integer> integers = Set.of(2, 6, 7, 10);
System.out.println(integers); //[2, 10, 6, 7]
Existem também muitos métodos de fábrica sobrecarregados de () para usarmos
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. Construindo um objeto de coleção de Lista
Semelhante à coleção Set, a classe de coleção List também adiciona uma série de funções de fábrica de () para criar objetos de coleção List imutáveis.
List<Integer> integers = List.of(2, 6, 7, 10);
System.out.println(integers); // [2, 6, 7, 10]
1.3. Construir um objeto Mapa
Embora Map não seja uma subclasse de Colleaction, geralmente o aprendemos como uma coleção. A classe Map também adiciona uma série de funções de fábrica de () para criar objetos Map imutáveis. A única diferença é que os parâmetros são passados na forma de Chave / Valor.
Map<Integer, String> map = Map.of(2, "two", 6, "six");
System.out.println(map); // {2=two, 6=six}
1.4. Use Map.ofEntries () e Map.entry ()
O método de fábrica Map.ofEntries
aceita Map.Entry como varargs. Existe outro novo método estático relacionado Map.entry(K, V)
para criar instâncias de Entry.
Map<Integer, String> map = Map.ofEntries(Map.entry(2, "two"), Map.entry(4, "four"));
System.out.println(map); //{2=two, 4=four}
二 、 Arrays
Arrays é nossa classe de ferramenta para operações de coleção, que também foi aprimorada na versão Java 9.
2.1.Arrays.mismatch()
Esses novos métodos são usados para encontrar o primeiro índice de incompatibilidade entre duas matrizes. Por exemplo, o código a seguir encontra a primeira incompatibilidade entre duas matrizes de inteiros. Se não houver incompatibilidade, este método retornará -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
Outro método aceita os parâmetros fromIndex e toIndex para encontrar índices relativamente incompatíveis. Por exemplo:
int mismatch(int[] a, int aFromIndex, int aToIndex,
int[] b, int bFromIndex, int bToIndex)
A partir do primeiro elemento do índice arrayA e do segundo elemento do índice arrayB, a busca pelo primeiro item não correspondido é realizada.
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()
E Arrays.mismatch()
algo semelhante, Arrays.equals()
usado para determinar os elementos nas duas matrizes são intervalos iguais. O novo método adiciona os parâmetros fromIndex e toIndex às duas matrizes comparadas. Esses métodos verificam a igualdade de duas matrizes com base nas posições de índice relativo das duas matrizes.
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
A partir do índice 0-2 da matriz sa, compare os elementos com o índice 3-5 da matriz sb. O resultado é verdadeiro igual.
Bem-vindo a seguir meu blog, existem muitas coleções boutique
- Este artigo é reproduzido com a indicação da fonte (a conexão deve ser anexada, e o texto não pode ser reproduzido somente): Carta Blog da Brother .
Se você acha que é útil para você, por favor, curta e compartilhe para mim! Seu apoio é minha motivação criativa inesgotável! . Além disso, o autor produziu o seguinte conteúdo de alta qualidade recentemente e espero sua atenção.