Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Java Coleção Tutoriais
Um erro comum cometido por novos programadores é armazenar todas as coleções de dados em matrizes simples. Enquanto a matriz básica é uma estrutura de dados grande, ele tem uma série de deficiências que podem ser evitadas usando algumas das outras estruturas de dados básicas. O Java Collections Framework fornece um conjunto de interfaces e classes de fácil utilização que implementam algumas das estruturas de dados mais comuns em ciência da computação. Matriz Básica

A melhor coisa sobre um conjunto básico em Java é que ele pode ler e escrito de forma rápida . No entanto, a adição ou remoção de um elemento da matriz permanentemente requer uma grande quantidade de tempo, porque Java não suporta matrizes dinâmicas . Toda vez que você redimensionar uma matriz em Java, você deve reconstruir a matriz de novo a partir do zero , um elemento de cada vez, com um loop. Você pode evitar isso, sempre inicializar suas matrizes para o tamanho máximo exigido a qualquer momento durante a execução, mas que pode ser um desperdício dramático da memória e é apenas ruim de design em geral.
ArrayList

a classe ArrayList da biblioteca java.util aborda alguns desses problemas envolvendo um conjunto de funções gerente em torno de uma matriz oculta. Esta matriz está estrategicamente aumento e diminuição de tamanho , periodicamente , de modo que , em média , a adição e remoção de elementos ocorre muito rapidamente . Mas, ocasionalmente , a , array interno escondido simplesmente tem que ser redimensionados, e nesses casos , a operação vai exigir uma quantidade muito maior de tempo.
LinkedList

o LinkedList vai mais longe do que o ArrayList e realmente não tem disposição alguma, oculta ou não. Em vez disso , os registros são encadeada em conjunto em nós , com cada nó que contém uma referência para o endereço de memória do próximo . A vantagem de um LinkedList é que a adição ou remoção de novas peças de dados sempre ocorre muito rapidamente o tempo e nunca há qualquer redimensionamento de uma série a ser realizada. No entanto, é impossível acessar os dados no meio da lista , sem passar por toda a lista a partir da frente ou para trás, de modo que o tempo que leva para ler dados a partir do meio de uma LinkedList pode ser significativo.

o ArrayList permite que os dados em qualquer lugar dentro dele para ser acessado muito rapidamente, e geralmente pode redimensionar rapidamente, mas , por vezes, requer um tempo extra quando sua variedade interna precisa ser reconstruído . O LinkedList pode sempre adicionar e remover dados da lista muito rapidamente, mas a recuperação de dados a partir do meio da lista pode ser demorado . Isso faz com que o LinkedList uma boa escolha para pilhas e filas que só serão acessados ​​bem na frente ou para trás, mas o ArrayList a melhor escolha como um substituto geral para a matriz simples.
HashSet < br >

o HashSet , como tanto o ArrayList e LinkedList , permite que dados sejam adicionados e removidos muito, muito rapidamente , e também tem mais uma vantagem : a HashSet podem ser pesquisados ​​de forma extremamente rápida , mais rápido do que um array, ArrayLists , ou Linked List . Ele faz isso através da realização de uma operação matemática sobre um pedaço de dados para determinar o índice de uma matriz , e , em seguida, realizar a mesma operação com os dados a serem pesquisados ​​para obter o índice de os dados desejados .

Se que é confuso, não se preocupe. O importante é que HashSets são grandes para conjuntos de dados que terão que ser pesquisadas através de mais e mais. Mas eles também têm uma fraqueza significativa : é que um Hashset não manter a ordem dos dados que é colocado dentro dele, ea ordenação dos elementos do conjunto pode mudar de um momento para o outro . Por exemplo, em uma matriz básica , se um elemento é colocado no índice 0 , o programador pode contar com ele permanecendo no índice 0 para sempre , até que ela muda . Mas em um HashSet , um elemento no índice 0 em um momento pode muito bem ser no índice 327 , no momento seguinte.

Anterior :

Próximo : No
  Os artigos relacionados
·Como link para a interface GUI em Java com um Código 
·Como instalar o Java SE 6 no Windows 
·Como declarar um construtor em Java 
·Comunicação Java Applets Entre 
·Como exibir um cilindro em Java 
·Java 1.6 vs. 1,5 
·Como fazer upload de arquivos em massa em Java 
·Como criar um emulador Android 
·As vantagens de usar JSP e Servlets 
·Como mover um objeto com cores em Java 
  Artigos em destaque
·Cálculos em Adobe LiveCycle Enterprise Suite 
·Quais são as vantagens de uma instrução condicional 
·Como usar instruções preparadas em ETL Java Caps 
·Diferenças entre C & C + + 
·Como escrever Políticas incorporados gerente Evento 
·Como escrever várias linhas para arquivo em C 
·Como construir Applets Java em Binary 
·Como executar scripts do PowerShell pela Linha de Coman…
·O que é Codificação Digital 
·Importância da Programação de Computadores 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados