Arrays no código java
o ArrayList
Conteúdo
Nome da classe | Característica |
---|---|
ArrayList | Uma matriz redimensionável. |
LinkedList | Uma lista de valores, cada um com um campo que aponta para a próxima um na lista. |
Pilha | Uma estrutura (que cresce a partir de baixo para cima) que está optimizado para o acesso ao valor mais alto. Você pode facilmente adicionar um valor para a superior ou removê-la a partir do topo. |
Fila | Uma estrutura (que cresce a uma extremidade), que está optimizada para adicionando valores a uma extremidade (a traseira) e remoção de valores a partir da outra extremidade (a da frente). |
PriorityQueue | A estrutura, como uma fila de espera, que permite que certo (alta prioridade) valores mover para a frente. |
HashSet | Uma colecção que não contém valores duplicados. |
HashMap | Uma coleção de pares de chave / valor. |
Cada classe de coleção tem seu próprio conjunto de métodos (além dos métodos que ele herda de AbstractCollection, o ancestral de todas as classes de coleção).
Video: Java Tutorial - 20 - An Array of Objects
Uma matriz é um tipo particular de coleção que é otimizada para indexação. Ou seja, você pode facilmente e eficientemente encontrar o valor 100 armazenados em uma matriz, o valor 1000 armazenados em uma matriz, ou o valor de 1000000 armazenados em uma matriz.
A matriz é uma característica venerável, tentou-e-verdadeiro de muitas linguagens de programação, incluindo as línguas mais recentes, como Java e linguagens mais antigas, como Fortran. Na verdade, a história da série remonta tão longe que a maioria das línguas (incluindo Java) têm notação especial para lidar com arrays. A listagem ilustra a notação para matrizes em um programa Java simples.
Video: Array - Java Tutorial 10
classe pacote com.allmycode.collections-pública SimpleCollectionsDemo {public static void main (String [] args) {String [] myArray = new String [4] -Matriz [0] = "Olá"-Matriz [1] = ", "-myArray [2] = "leitores"-myArray [3] = "!"-para (int i = 0- i lt; 4- i ++) { System.out.print (Matriz [i]) -}System.out.println () - para (String string: myArray) {System.out.println (string) -}}}
A figura mostra a saída de um prazo de código na listagem. Tanto o normal para circuito e o melhorada para laço exibir a mesma saída.
No perfil, o comum para laço utiliza índices, com cada índice marcados por colchetes. Como é com todas as coleções de Java, o índice do valor inicial é 0, não 1. Observe também o número 4 na declaração do array - isso indica que “você pode armazenar 4 valores na matriz.”
O número 4 não indicam que “você pode atribuir um valor a Matriz [4].”Na verdade, se você adicionar uma declaração como myArray [4] = “Oops!” para o código no perfil, você recebe uma mensagem de erro desagradável (Índice de matriz fora dos limites de exceção) Quando você executar o programa.
A declaração String [] = new String meuArray [4] cria uma matriz vazio e faz com que o myArray referem-se a variável que matriz vazia. A matriz pode, potencialmente, armazenar até quatro valores. Mas, inicialmente, que a variável refere-se a uma matriz que não contém valores. Não é até Java executa a instrução primeiro trabalho (myArray [0] = “Olá”) Que a matriz contém quaisquer valores.
Você pode facilmente e eficientemente encontrar o valor 100 armazenado em um array ou o valor 1000000 armazenados em uma matriz. Nada mal para um dia de trabalho. Então, qual é a desvantagem de usar um array? A maior desvantagem de uma matriz é que cada matriz tem um limite fixo do número de valores que ele pode conter. Quando você criar a matriz na listagem, Java reserva espaço para até quatro Corda valores.
Se, mais tarde no programa, você decide que você deseja armazenar um quinto elemento na matriz, você precisa de algum código desajeitado, ineficiente para fazer-se uma matriz maior. Você também pode superestimar o tamanho que você precisa para uma matriz, conforme mostrado neste exemplo:
String [] myArray = new String [20000000] -
Quando você superestimar, você provavelmente perder muito espaço de memória.
Video: Java For Beginners: Arrays (8/10)
Outra característica desagradável de uma matriz é a dificuldade que você pode ter em inserir novos valores. Imagine ter uma caixa de madeira para cada ano em sua coleção de Imperador Constantino Comics. A série remonta ao AD ano 307, quando Constantino tornou-se chefe do Império Romano.
Você tem apenas 1.700 caixas porque você está perdendo cerca de seis anos (principalmente a partir dos anos 1150 a 1155). As caixas não são numeradas, mas eles estão empilhados um ao lado do outro em uma linha que é de 200 metros de comprimento. (A linha é tão longo como o chão 55 de um arranha-céus é alto.)
Em uma venda de garagem em Istambul, você encontrará uma edição rara de Imperador Constantino Comics a partir de Março de 1152. Depois de se alegrar com a sua primeira história em quadrinhos a partir do ano 1152, você percebe que você tem que inserir uma nova caixa na pilha entre os anos de 1151 e 1153, que envolve a transferência de caixa o ano de 2013 cerca de dez centímetros para a esquerda, e em seguida, movendo a caixa de 2012 em lugar da caixa de 2013, e em seguida, movendo a caixa de 2011 no lugar da caixa de 2012. E assim por diante.
Vida para o ávido Imperador Constantine Comics coletor está prestes a se tornar cansativo! Inserindo um valor para o meio de uma grande variedade é igualmente irritante.