1. Visão geral da estrutura da coleção Java
O Java SE inclui uma estrutura de coleção Java (JCF) composta por um conjunto de classes e interfaces. Sua principal função é organizar dados armazenados em uma determinada estrutura e acessar esses dados de uma maneira específica. Seu objetivo é fornecer uma estrutura geral para processar coleções de objetos e reduzir a quantidade de codificação que os programadores usam ao processar diferentes coleções de objetos.
Algumas diferenças nas classes de coleta, além de apoiar as operações de elementos duplicados, incluem se os elementos estão em ordem e se os elementos nulos podem ser adicionados. De acordo com essas três diferenças na estrutura de coleção Java, os métodos de armazenamento dos objetos são divididos em três tipos, a saber::
Para apoiar as operações de acesso e acesso a objetos, várias interfaces são fornecidas na estrutura de coleção Java:
2. Interface de coleta e interface do iterador
Alguns métodos básicos compartilhados por objetos de coleção são definidos na interface de coleção.
| método | descrever |
| int size () | Retorna o número de elementos contidos na coleção atual |
| isempyt () | Determinar se o conjunto contém elementos |
| Booleano contém (objeto O) | Determinar se um elemento especificado está contido na coleção |
| Adicionar (objeto O) | Adicione um elemento à coleção |
| Remover (objeto O) | Exclua um elemento da coleção |
| Iterator iterator () | Retorna um Traverser para acessar vários elementos da coleção |
A interface do iterador é uma interface usada para atravessar uma coleção.
| método | descrever |
| hasNext () | Se houver mais elementos na coleção, o método retornará verdadeiro |
| próximo() | Retorne o próximo elemento da coleção |
| remover() | Exclua o último elemento devolvido pelo iterador |
1.list interface
A interface da lista é herdada da interface de coleção e possui as seguintes características:
As classes de implementação mais usadas para interface de lista são a classe ArrayList e a classe LinkedList.
1) .Arraylist
Exemplo de programa:
Pacote Lei; importar java.util.arraylist; importar java.util.list; public class Test {public static void main (string [] args) {list list = new ArrayList <> (); list.add (1); list.add ("Zhangsan"); list.add (false); list.add ('A'); list.add (0, "lisi"); list.add (1); list.Remove (1); list.Remove (2); list.set (0, "Wangwu"); for (int i = 0; i <list.size (); i ++) {System.out.println (list.get (i)); }}}O método iguals () definido pela classe de objeto retornará verdadeiro apenas quando o objeto passou para o método e o objeto que chama o método for o mesmo objeto. Dois objetos com o mesmo estado podem ser considerados como o mesmo objeto, substituindo o método iguals ().
2) .LinkedList
| método | descrever |
| void addfirst | Adicione um objeto no início da lista vinculada |
| Void Addlast | Adicione um objeto no final da lista vinculada |
| getfirst () | Retorne o primeiro elemento na lista vinculada |
| getLast () | Retorne o último elemento na lista vinculada |
| removefirst () | Exclua o primeiro elemento na lista vinculada |
| removelast () | Exclua o último elemento na lista vinculada |
Exemplo de programa:
Pacote Lei; importar java.util.LinkedList; importar java.util.list; classe pública test2 {public static void main (string [] args) {LinkedList l = new LinkedList <> (); L.Add ("Zhangsan"); L.Add ("Lisi"); L.Addfirst (1); L.Addlast (4); System.out.println (l.getfirst ()); System.out.println (l.getLast ()); L.RemoveFirst (); L.Removelast (); for (int i = 0; i <l.size (); i ++) {System.out.println (l.get (i)); }}}Seleção de LinkedList vs. Arraylist
Se a lista precisar ser acessada rapidamente, mas não inserir e excluir elementos com frequência, será melhor selecionar o ArrayList; Se a lista precisar ser frequentemente inserida e excluída, você deve selecionar o LinkedList.
2.Set Interface
A interface definida herda da interface de coleta e também herda todos os métodos da interface de coleta. A interface definida tem as seguintes características:
Os mais comumente usados para implementar a interface definida são a classe Hashset e a classe Treeset.
1) .HashSet
A classe Hashset é uma implementação de interface definida com base no algoritmo de hash. Tem as seguintes características:
Se a classe que escrevemos redefine o método Equals, essa classe também deverá redefinir o método hashcode () e garantir que, quando o resultado dos dois objetos for comparado com o método Equals seja verdadeiro, os valores de retorno do método hashCode () dos dois objetos são iguais.
Exemplo de programa:
Pacote Lei; importar java.util.hashset; importar java.util.set; classe pública test4 {public static void main (string [] args) {set <string> set = new HashSet <String> (); set.add ("Zhangsan"); set.add ("lisi"); for (string s: set) {System.out.println (s); }}}2) .TreeSet
A classe TreeSet não apenas implementa a interface do conjunto de classes, mas também implementa a interface do STORNEDSET, para garantir que os objetos da coleção sejam classificados em uma determinada ordem. Quando um objeto é adicionado à coleção TreeSet, ele é inserido em uma sequência ordenada de objetos, mas esse tipo não é classificado na ordem em que os objetos são adicionados, mas são classificados de acordo com um certo algoritmo.
TreeSet classifica os elementos na ordem natural dos elementos ou os classifica de acordo com o comparador fornecido quando o conjunto é criado. A TreeSet suporta dois métodos de classificação: classificação natural e classificação personalizada.
3.MAP Interface
A interface do mapa (mapa) é outra interface importante na estrutura de coleção Java que é diferente da interface de coleta. Corresponde a uma coleção de relacionamentos correspondentes de chaves para valores. Existem dois grupos de objetos no contêiner do objeto MAP, um grupo de objetos é usado para salvar a chave no mapa e o outro grupo é usado para salvar o valor. A chave e o valor podem atualizar os dados de qualquer tipo de referência. A chave não pode ser repetida, mas o valor pode ser repetido.
1) .hashmap
Hashmap é uma implementação da interface do mapa com base no algoritmo de hash. O hashmap salva suas chaves na tabela de hash para manutenção e as chaves são únicas. No entanto, o Hashmap não garante que as chaves sejam organizadas em uma ordem específica, especialmente que a ordem permaneça permanentemente inalterada.
A classe Hashmap implementa a interface do mapa, com todos os métodos da interface do mapa.
Pacote Day1228; importar java.util.*; classe pública hashmapDemo {public static void main (string [] args) {// crie um novo mapa hashmap <string, string> map = new hashmap <string, string> (); map.put ("A1", "Xiao"); map.put ("b2", "xiaol"); map.put ("A4", "xiaosd"); map.put ("b1", "12a"); map.put ("A3", "1"); // Use o iterador para atravessar a chave e o value system.out.println ("antes do valor do mapa ser:"); Set <string> keys = map.keyset (); for (iterator <string> i = keys.iterator (); i.hasnext ();) {string key = i.next (); String value = map.get (chave); System.out.println (chave + "=" + valor); } // Exclua o valor com a chave "A4" System.out.println ("/ndelete o elemento com o valor da chave A4"); map.remove ("A4"); // // Use o iterador para atravessar as teclas e valores system.out.println ("/n mapa valor após:"); chaves = map.keyset (); for (iterator <string> i = keys.iterator (); i.hasnext ();) {string key = i.next (); String value = map.get (chave); System.out.println (chave + "=" + valor); }}}2) .treemap
A classe Treemap é uma implementação da interface de mapa com base no algoritmo de árvore vermelha e preta. O método de armazenamento das chaves no TREEMAP é semelhante ao TreeSet. Ele armazena teclas em uma árvore e a ordem das chaves é organizada em ordem natural ou ordem personalizada.
Exemplo de programa:
Pacote Day1228; importar java.util.*; classe pública TreemapDemo {public static void main (string [] args) {// Crie um novo mapa Treemap <Inteiro, String> map = new Treemap <Integer, String> (); map.put (1, "um"); map.put (2, "dois"); map.put (3, "três"); map.put (4, "quatro"); map.put (5, "cinco"); // Use o iterador para exibir as teclas e valores system.out.println ("O valor do mapa anterior é:"); SET <TEGER> keys = map.keyset (); para (chave do objeto: chaves) {string value = map.get (key); System.out.println (chave+"="+valor); } // Exclua o valor do Key 3 System.out.println ("/ndelete o elemento com o valor da chave 3"); map.remove (3); // Use o iterador para exibir a chave e o value system.out.println ("/n o valor após o mapa é:"); para (chave do objeto: chaves) {string value = map.get (key); System.out.println (chave+"="+valor); }}}O exposto acima é todo o conteúdo deste artigo. Espero que o conteúdo deste artigo seja de ajuda para estudar ou trabalhar de todos. Eu também espero apoiar mais wulin.com!