Explicação detalhada de matrizes java quebradas pelos hackers mais fortes do mundo

A classe java.util.Arrays contém uma fábrica estática que permite que os arrays sejam tratados como listas. Aqui estão os principais pontos sobre matrizes:

Esta classe contém vários métodos para manipular a matriz (como classificação e pesquisa).
Os métodos nesta classe lançam NullPointerException se a referência de matriz especificada for nula.
Declaração da classe A
seguir está a declaração da classe java.util.Arrays:
public class Arrays extends
Método da classe Object

Método SN e Descrição
1 Lista estática asList (T a)
Este método retorna uma lista de tamanho fixo suportada pela matriz especificada.
2 static int binarySearch (byte [] a, chave de byte)
Este método pesquisa a matriz de bytes especificada e usa o algoritmo de pesquisa binária para especificar o valor.
3 static int binarySearch (byte [] a, int fromIndex, int toIndex, chave de byte)
Este método pesquisa a matriz de bytes especificada no intervalo e usa o algoritmo de pesquisa binária para especificar o valor.
4 static int binarySearch (char [] a, char key)
Este método pesquisa a matriz de caracteres especificada e usa o algoritmo de pesquisa binária para especificar o valor.
5 static int binarySearch (char [] a, int fromIndex, int toIndex, chave char)
Este método pesquisa uma matriz de caracteres especificada dentro de um intervalo e usa um algoritmo de pesquisa binária para especificar o valor.
6 static int binarySearch (double [] a, double key)
Este método pesquisa a matriz dupla especificada e usa o algoritmo de pesquisa binária para especificar o valor.
7 static int binarySearch (double [] a, int fromIndex, int toIndex, chave dupla)
Este método pesquisa a matriz especificada dupla e usa o algoritmo de pesquisa binária para especificar o valor.
8 static int binarySearch (float [] a, chave float)
Este método procura por uma matriz especificada de números de ponto flutuante e usa um algoritmo de pesquisa binária para especificar o valor.
9 static int binarySearch (float [] a, int fromIndex, int toIndex, chave float)
Este método pesquisa uma matriz de números de ponto flutuante no intervalo especificado e usa um algoritmo de pesquisa binária para especificar o valor.
10 static int binarySearch (int [] a, chave int)
Este método pesquisa a matriz de tipo int especificada e usa o algoritmo de pesquisa binária para especificar o valor.
11 static int binarySearch (int [] a, int fromIndex, int toIndex, chave int)
Este método pesquisa a matriz de tipo int especificada usando o algoritmo de pesquisa binária para especificar o valor.
12 static int binarySearch (long [] a, int fromIndex, int toIndex, chave longa) O
intervalo de pesquisa desse método especifica a matriz longa e o algoritmo de pesquisa binária é usado para especificar o valor.
13 static int binarySearch (long [] a, long key)
Este método pesquisa a longa matriz especificada e usa o algoritmo de pesquisa binária para especificar o valor.
14 static int binarySearch (Object [] a, int fromIndex, int toIndex, chave do objeto)
Este método pesquisa a matriz especificada no intervalo e usa o algoritmo de pesquisa binária para especificar o objeto.
15 static int binarySearch (Object [] a, Object key)
Este método pesquisa a matriz especificada e usa o algoritmo de pesquisa binária para especificar o objeto.
16 static int binarySearch (short [] a, int fromIndex, int toIndex, chave curta) O
intervalo de pesquisa deste método especifica a matriz curta e o algoritmo de pesquisa binária é usado para especificar o valor.
17 static int binarySearch (short [] a, chave curta)
Este método pesquisa a matriz curta especificada e usa o algoritmo de pesquisa binária para especificar o valor.
18 static int binarySearch (T [] a, int fromIndex, int toIndex, chave T, Comparator <? Super T> c)
Este método pesquisa a matriz especificada no intervalo e usa o algoritmo de pesquisa binária para especificar o objeto.
19 static int binarySearch (T [] a, chave T, Comparator <? Super T> c)
Este método pesquisa a matriz especificada e usa o algoritmo de pesquisa binária para especificar o objeto.
20 static boolean [] copyOf (boolean [] original, int newLength)
Este método copia o array especificado, interceptando ou preenchendo false (se necessário), para que a cópia tenha o comprimento especificado.
21 byte estático [] copyOf (byte [] original, int newLength)
Este método copia a matriz especificada, interceptando ou preenchida com zeros (se necessário), para que a cópia tenha o comprimento especificado.
22 static char [] copyOf (char [] original, int newLength)
Este método copia o array especificado, interceptando ou preenchendo com null (se necessário), para que a cópia tenha o comprimento especificado.
23 static double [] copyOf (double [] original, int newLength)
Este método copia o array especificado, interceptando ou preenchido com zeros (se necessário), para que a cópia tenha o comprimento especificado.
24 static float [] copyOf (float [] original, int newLength)
Este método copia a matriz especificada, truncando ou preenchida com zeros (se necessário), para que a cópia tenha o comprimento especificado.
25 static int [] copyOf (int [] original, int newLength)
Este método copia o array especificado, truncando ou preenchido com zeros (se necessário), para que a cópia tenha o comprimento especificado.
26 static long [] copyOf (long [] original, int newLength)
Este método copia a matriz especificada, truncando ou preenchida com zeros (se necessário), para que a cópia tenha o comprimento especificado.
27 static short [] copyOf (short [] original, int newLength)
Este método copia o array especificado, interceptando ou preenchido com zeros (se necessário), para que a cópia tenha o comprimento especificado.
28 static T [] copyOf (T [] original, int newLength)
Este método copia o array especificado, intercepta ou preenche com null (se necessário), para que a cópia tenha o comprimento especificado.
29 static <T, U> T [] copyOf (U [] original, int newLength, Class <? Extends T []> newType)
Este método copia a matriz especificada, intercepta ou preenche com nulo (se necessário), de modo que A cópia tem o comprimento especificado.
30 static boolean [] copyOfRange (boolean [] original, int de, int para)
Este método copia a matriz especificada para o intervalo especificado de uma nova matriz.
31 byte estático [] copyOfRange (byte [] original, int de, int para)
Este método copia a matriz especificada para o intervalo especificado de uma nova matriz.
32 static char [] copyOfRange (char [] original, int de, int para)
Este método copia a matriz especificada para o intervalo especificado de uma nova matriz.
33 static double [] copyOfRange (double [] original, int de, int para)
Este método copia o array especificado para o intervalo especificado de um novo array.
34 static float [] copyOfRange (float [] original, int de, int para)
Este método copia a matriz especificada para o intervalo especificado de uma nova matriz.
35 static int [] copyOfRange (int [] original, int de, int para)
Este método copia a matriz especificada para o intervalo especificado de uma nova matriz.
36 static long [] copyOfRange (long [] original, int de, int to)
Este método copia a matriz especificada para o intervalo especificado de uma nova matriz.
37 static short [] copyOfRange (short [] original, int de, int para)
Este método copia o array especificado para o intervalo especificado de um novo array.
38 static T [] copyOfRange (T [] original, int de, int para)
Este método copia a matriz especificada para o intervalo especificado de uma nova matriz.
39 static <T, U> T [] copyOfRange (U [] original, int de, int para, Class <? Extends T []> newType)
Este método copia o array especificado para o intervalo especificado de um novo array.
40 static boolean deepEquals (Object [] a1, Object [] a2)
Este método retorna verdadeiro se as duas matrizes especificadas forem iguais.
41 static int deepHashCode (Object [] a)
Este método retorna um código hash baseado no "conteúdo profundo" da matriz especificada.
42 static String deepToString (Object [] a)
Este método retorna a representação em string do "conteúdo profundo" da matriz especificada.
43 booleanos estáticos iguais (boolean [] a, boolean [] a2)
Este método retorna verdadeiro se as duas matrizes especificadas de valores booleanos forem iguais.
44 booleanos estáticos iguais (byte [] a, byte [] a2)
Este método retorna verdadeiro se as duas matrizes de bytes especificadas forem iguais.
45 static boolean equals (char [] a, char [] a2)
Este método retorna verdadeiro se as duas matrizes de caracteres especificadas forem iguais.
46 booleanos estáticos iguais (double [] a, double [] a2)
Este método retorna verdadeiro se os dois arrays duplos especificados forem iguais um ao outro.
47 booleanos estáticos iguais (float [] a, float [] a2)
Este método retorna verdadeiro se os dois arrays especificados de números de ponto flutuante forem iguais um ao outro.
48 static boolean equals (int [] a, int [] a2)
Este método retorna verdadeiro se as duas matrizes de inteiros especificadas forem iguais uma à outra.
49 static boolean equals (long [] a, long [] a2)
Este método retorna true se os dois arrays longos especificados forem iguais um ao outro.
50 static boolean equals (Object [] a, Object [] a2)
Este método retorna true se as duas matrizes de objetos especificadas forem iguais.
51 static boolean equals (short [] a, short [] a2)
Este método retorna verdadeiro se as duas matrizes de objetos especificadas forem iguais uma à outra.
52 static void fill (boolean [] a, boolean val)
Este método aloca cada elemento da matriz especificada de valores booleanos.
53 static void fill (boolean [] a, int fromIndex, int toIndex, boolean val)
Este método atribui o valor booleano de cada elemento no intervalo especificado da matriz booleana especificada.
54 static void fill (byte [] a, byte val)
Este método aloca o valor de byte de cada elemento da matriz de bytes especificada.
55 estático void fill (byte [] a, int fromIndex, int toIndex, byte val)
Este método aloca o valor de byte de cada elemento no intervalo especificado da matriz de bytes especificada.
56 static void fill (char [] a, char val)
Este método atribui o valor char especificado ao caractere de cada elemento da matriz especificada.
57 static void fill (char [] a, int fromIndex, int toIndex, char val)
Este método atribui o caractere de cada elemento no intervalo especificado da matriz especificada do valor char especificado.
58 static void fill (double [] a, double val)
Este método atribui um valor duplo especificado ao valor duplo de cada elemento da matriz especificada.
59 preenchimento de vazio estático (double [] a, int fromIndex, int toIndex, double val)
Este método atribui um valor duplo especificado a cada elemento no intervalo especificado da matriz dupla especificada.
60 static void fill (float [] a, float val)
Este método de alocação especifica o número de valores flutuantes para especificar o valor de ponto flutuante de cada elemento da matriz.
61 estático void fill (float [] a, int fromIndex, int toIndex, float val)
Este método de alocação especifica o valor de ponto flutuante de cada elemento no intervalo especificado da matriz especificada de valores float.
62 static void fill (int [] a, int val)
Este método de alocação especifica o valor int de cada elemento no intervalo especificado da matriz.
63 static void fill (int [] a, int fromIndex, int toIndex, int val)
Este método de alocação especifica o valor int de cada elemento no intervalo especificado da matriz.
64 static void fill (long [] a, int fromIndex, int toIndex, long val)
Este método de alocação especifica o valor longo de cada elemento no intervalo especificado da matriz.
65 static void fill (long [] a, long val)
Este método de alocação especifica o valor longo de cada elemento da matriz longa especificada.
66 static void fill (Object [] a, int fromIndex, int toIndex, Object val)
Este método aloca cada elemento no intervalo especificado da matriz especificada do objeto referenciado pelo Object especificado.
67 static void fill (Object [] a, Object val)
Este método aloca cada elemento na matriz especificada pelo objeto referenciado pelo Object especificado.
68 static void fill (short [] a, int fromIndex, int toIndex, short val)
Este método aloca o valor curto de cada elemento no intervalo especificado da matriz especificada.
69 static void fill (short [] a, short val)
Este método aloca o valor curto de cada elemento da matriz curta especificada.
70 static int hashCode (boolean [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
71 static int hashCode (byte [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
72 static int hashCode (char [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
73 static int hashCode (double [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
74 static int hashCode (float [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
75 static int hashCode (int [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
76 static int hashCode (long [] a)
Este método retorna um código hash com base no conteúdo da matriz especificada.
77 static int hashCode (Object [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
78 static int hashCode (short [] a)
Este método retorna um código hash baseado no conteúdo da matriz especificada.
79 static void sort (byte [] a)
A matriz de bytes especificada por este método é classificada em ordem numérica crescente.
80 static void sort (byte [] a, int fromIndex, int toIndex)
Este método classifica a matriz de bytes especificada no intervalo especificado em ordem numérica crescente.
81 static void sort (char [] a)
Este método classifica o array char em ordem numérica crescente.
82 static void sort (char [] a, int fromIndex, int toIndex)
Este método classifica a matriz de caracteres especificada no intervalo especificado em ordem numérica crescente.
83 static void sort (double [] a)
Este método especifica que a matriz dupla é classificada em ordem numérica crescente.
84 static void sort (double [] a, int fromIndex, int toIndex)
Este método classifica a matriz dupla especificada no intervalo especificado em ordem numérica crescente.
85 static void sort (float [] a)
Este método especifica que a matriz de números de ponto flutuante é classificada em ordem numérica crescente.
86 static void sort (float [] a, int fromIndex, int toIndex)
Este método classifica a matriz float especificada no intervalo especificado em ordem numérica crescente.
87 static void sort (int [] a)
A matriz de tipo int especificada por este método é classificada em ordem numérica crescente.
88 static void sort (int [] a, int fromIndex, int toIndex)
Este método classifica a matriz de tipo int especificada no intervalo especificado em ordem numérica crescente.
89 static void sort (long [] a)
O array longo especificado por este método é classificado em ordem numérica crescente.
90 static void sort (long [] a, int fromIndex, int toIndex)
Este método aplica a ordem numérica crescente à longa matriz especificada no intervalo especificado.
91 static void sort (Object [] a)
De acordo com a ordem natural de seus elementos, este método executa a ordem crescente na matriz de objeto especificada.
92 static void sort (Object [] a, int fromIndex, int toIndex)
De acordo com a ordem natural de seus elementos, este método atribui o intervalo especificado da matriz de objeto especificada em ordem crescente.
93 static void sort (short [] a)
O array curto especificado por este método é classificado em ordem numérica crescente.
94 static void sort (short [] a, int fromIndex, int toIndex)
Este método executa a ordem numérica crescente para a matriz especificada de shorts na faixa especificada.
95 static void sort (T [] a, Comparator <? Super T> c)
Os objetos desse método são classificados de acordo com a ordem especificada de comparação causada pelo array especificado.
96 static void sort (T [] a, int fromIndex, int toIndex, Comparator <? Super T> c)
Este método classifica o intervalo especificado do array especificado de objetos de acordo com a ordem causada pelo comparador especificado.
97 static String toString (boolean [] a)
Este método retorna a representação em string do conteúdo do array booleano especificado.
98 static String toString (byte [] a)
Este método retorna a representação em string do conteúdo da matriz de bytes especificada.
99 static String toString (char [] a)
Este método retorna a representação em string do conteúdo da matriz char especificada.
100 static String toString (double [] a)
Este método retorna a representação em string do conteúdo da matriz dupla especificada.
101 static String toString (float [] a)
Este método retorna a representação em string do conteúdo da matriz float especificada.
102 static String toString (int [] a)
Este método retorna a representação em string do conteúdo da matriz int especificada.
103 static String toString (long [] a)
Este método retorna a representação em string do conteúdo do array longo especificado.
104 static String toString (Object [] a)
Este método retorna a representação em string do conteúdo da matriz de objeto especificada.
105 static String toString (short [] a)
Este método retorna a representação em string do conteúdo da matriz curta especificada.

Herança de método
Esta classe herda métodos das seguintes classes:

java.util.Object

// O texto original é de [Yibai Tutorial], entre em contato com o autor para autorização para reimpressão comercial, mantenha o link original para reimpressão não comercial: https://www.yiibai.com/java/util/java_util_arrays.html

Conceitos básicos de
arrays Um array se refere a uma coleção de variáveis ​​relacionadas.O array fornecido na linguagem Java é usado para armazenar elementos do mesmo tipo com um tamanho fixo.

O tipo de elemento e o tamanho da matriz são determinados.

Afirmar a matriz
deve primeiro declarar uma variável de matriz, você pode usar a matriz em seu programa. A seguir está a sintaxe para declarar variáveis ​​de matriz:

dataType [] arrayRefVar; // Método preferencial
ou
dataType arrayRefVar []; // Mesmo efeito, mas não o método preferido
Nota: É recomendado declarar variáveis ​​de array usando o estilo de declaração de dataType [] arrayRefVar. O estilo de dataType arrayRefVar [] é derivado da linguagem C / C ++. É adotado em Java para permitir que os programadores C / C ++ entendam rapidamente a linguagem Java.

A seguir estão exemplos dessas duas sintaxes:

double [] myList; // O método preferencial
ou
double myList []; // O efeito é o mesmo, mas não o método preferencial.
Criando dados A
linguagem Java usa o novo operador para criar uma matriz. A sintaxe é a seguinte:

arrayRefVar = new dataType [arraySize]; A
instrução de sintaxe acima faz duas coisas:

Uma matriz é criada usando dataType [arraySize].
Atribua a referência do array recém-criado à variável arrayRefVar.
A declaração de variáveis ​​de array e a criação de arrays podem ser concluídas com uma instrução, conforme mostrado abaixo:

//
DataType de inicialização dinâmica [] arrayRefVar = new dataType [arraySize];
Além disso, você também pode usar o método a seguir para criar uma matriz.

// Inicialização estática, formato simplificado
dataType [] arrayRefVar = {value0, value1,…, valuek};

// Inicialização estática, formato completo
dataType [] arrayRefVar = new dataType [] {value0, value1,…, valuek};
Os elementos da matriz são acessados ​​por índice. O índice da matriz começa em 0, então o valor do índice é de 0 a arrayRefVar.length-1.

O conteúdo da matriz criada com o novo método é o valor padrão do tipo de dados correspondente.

Matrizes também são tipos de dados de referência.A única diferença entre matrizes e objetos é que a memória heap no objeto armazena as propriedades do objeto, enquanto a memória heap na matriz armazena seu conjunto correspondente de informações, incluindo índices e valores correspondentes.

Matriz multidimensional Uma matriz
multidimensional pode ser considerada uma matriz de matrizes. Por exemplo, uma matriz bidimensional é uma matriz unidimensional especial e cada elemento é uma matriz unidimensional, por exemplo:

String str [] [] = new String [3] [4];
A inicialização dinâmica de uma matriz multidimensional (tome uma matriz bidimensional como exemplo)
aloca espaço diretamente para cada dimensão, o formato é o seguinte:
dataType [ ] [] arrayName = novo tipo [arraylenght1] [arraylenght2];
dataType pode ser um tipo de dados básico e um tipo de dados composto, arraylenght1 e arraylenght2 devem ser inteiros positivos, arraylenght1 é o número de linhas e arraylenght2 é o número de colunas.
Por exemplo:

int a [] [] = new int [2] [3];
Passando por referência de
um array Array é usado como um tipo de referência, e em outras funções que passam um array como parâmetro, a modificação do array nesta função definitivamente afetará os dados originais.

O método de operação array
java fornece algum suporte de biblioteca para dados.


Método de cópia de array System.arraycopy (), o protótipo da função é:

public static void arraycopy (Object src,
int srcPos,
Object dest,
int destPos,
int length)

Acho que você gosta

Origin blog.csdn.net/dcj19980805/article/details/114840186
Recomendado
Clasificación