Java colección conocimiento finalizando

Concepto:

La biblioteca de clases de Java nos proporciona muchas "clases de colección". Estas clases de colección utilizan diferentes "estructuras de datos" para almacenar. Las diferentes estructuras de datos conducirán a diferentes desempeños de agregar, eliminar, modificar y verificar.
Estructura de datos común :
1). Matriz; consulta de aumento rápido y eliminación lenta
2). Lista enlazada; agregar y eliminar consulta rápida lenta
3). Pila; último en entrar, primero en empujar, apilar, bomba, pila
4). Cola, primero en entrar, primero en salir
5). Las consultas, adiciones y eliminaciones son rápidas
6).
Inserte la descripción de la imagen aquí

Coleccion

Nota: ①, la colección solo puede almacenar objetos. Por ejemplo, si almacena un tipo 1 de datos int y lo coloca en una colección, se convierte automáticamente en una clase Integer y se almacena. Cada tipo básico en Java tiene un tipo de referencia correspondiente.
   Collection La colección almacena referencias a múltiples objetos, y los objetos mismos todavía se colocan en la memoria de almacenamiento dinámico.
   ③, la colección puede almacenar diferentes tipos, un número ilimitado de tipos de datos.
Insertar conocimiento:
clase de empaquetado:
tipo de datos básicos -----
byte de tipo de empaquetado ----- Byte
booleano ----- Booleano
corto ----- Short
char ----- Carácter
int ---- -Integer
largo -----
Flotador largo ----- Flotador
doble ----- Doble
A). Colección de colección : colección de una sola columna
| - Colección de lista: 1. Pedido; 2. Puede almacenar elementos duplicados; puede Elementos de operación de índice;
| - ArrayList (subclase): implementación de matriz
| - LinkedList (subclase): implementación de lista vinculada
| - Establecer colección: 1. Sin ordenar; 2. No se pueden almacenar elementos duplicados;
| - HashSet (subclase): Tabla hash
| –LinkedHashSet (subclase): lista vinculada, tabla hash. Ordenado
B). Colección de mapas : colección de dos columnas (pares clave-valor)
| –HashMap (subclase): implementación de tabla hash;
| –LinkedHashMap (subclase): lista vinculada, implementación de tabla hash

Métodos comunes en Collection_Collection :
1). Los métodos declarados en Collection se implementarán en List and Set collection;
2). Varios métodos de uso común:
add:
public boolean add (E e): poner el dado El objeto se agrega a la colección actual, el valor de retorno: para ArrayList siempre devuelve verdadero; para Set, solo al almacenar elementos duplicados, devolverá falso, falla de almacenamiento;

Eliminar:
public void clear (): borra todos los elementos de la colección.
public boolean remove (E e): elimina el objeto dado de la colección actual. Valor de retorno: verdadero si la eliminación se realizó correctamente; de ​​lo contrario: falso Nota: Si hay varios "elementos duplicados" en la colección, solo se eliminará el primero. (La eliminación depende de la comparación de: equals ())

Juicio:
public boolean contiene (Objeto obj): juzga si la colección actual contiene el objeto dado. Nota: La búsqueda depende de la comparación de equals ();
public boolean isEmpty (): determina si la colección actual está vacía.

Get:
public int size (): Devuelve el número de elementos en la colección.
public Object [] toArray (): almacena los elementos de la colección en una matriz. Convierta la colección en una matriz.
iterador de iterador público (): obtenga un "iterador" para recorrer la colección.

Conocimiento complementario
No puede agregar o eliminar el objeto original usando un iterador, de lo contrario el programa informará un error (ConcurrentModificationException)

//定义一个list集合
ArrayList<String> list=new ArrayList<>();
Iterator it=list.iterator();
while(it.hasNext()){ //获取浮标 判断是否有下一个
System.out.print(it.next());//输出
}

Conocimiento complementario:
Mejorado para:
es una declaración de bucle utilizada para atravesar matrices y colecciones. Sintácticamente es más conciso que un bucle normal.

//快捷键 arr.iter  
//注意增强for底层是迭代器不可以执行增删操作
  int [] arr={2,14,1,3,22,11,4};
        for (int i : arr) {
            System.out.println(i);
        }

Lista de colección:

1). Hereda de la interfaz de la Colección. Además, ha agregado algunos métodos.
2). Lista de características de la colección: ordenada; puede almacenar elementos duplicados; puede operar elementos a través de "índice";
3). Nuevo método comúnmente utilizado:
agregar public void add (int index, E element): especificará El elemento se agrega a la posición especificada en la colección.
Modificación: conjunto E público (índice int, elemento E) Reemplace el elemento en la posición especificada en el conjunto con el elemento especificado y devuelva el elemento antes de la actualización.
Eliminar: public E remove (int index): elimina el elemento en la posición especificada en la lista y devuelve el elemento que se eliminó.
Get: public E get (int index): devuelve el elemento en la posición especificada en la colección.
ArrayList (subclase de colección de lista):
implementación de matriz, no hay un método único.
LinkedList (subclase de colección de lista):
implementación de lista vinculada, hay algunos métodos únicos. Se usa para simular operaciones de pila y cola

establecer colección

Características
1. Desordenado (se refiere a un orden diferente al de la suma); 2. No se pueden almacenar elementos duplicados; 3. No se puede acceder por índice.
hashSet (subclase):
Características: consulta de adición y eliminación más rápida
Nota: Al agregar un elemento en una posición determinada, use el método hashCode () para verificar si la posición del índice existe, y luego use el método equse () para determinar si los elementos son los mismos.

HashSet<String> set = new HashSet<>();
set.add("张三");
set.add("张三");//错误 不可存储重复 输出只会有一个“张三”
set.add("李四");
for (String s : set) {
            System.out.println(s);// 李四 张三
        }
set.clear();//清空集合
set.iterator();//迭代器 作用遍历

LinkedHashSet (subclase):
Características: Es un caso especial de Set, lista vinculada, estructura de tabla hash. Ordenada

 LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
        linkedHashSet.add("张三");
        linkedHashSet.add("李四");
        linkedHashSet.add("王五");
        for (String s : linkedHashSet) {
            System.out.println(s);//张三 李四 王五
        }

Colección de mapas

Características: La colección de dos columnas almacena dos objetos: par clave-valor
HashMap (subclase): implementación de tabla hash;

HashMap<String, String> hashMap = new HashMap<>();
        hashMap.put("1","张三");//put() 添加元素的方法 “1”是键,“张三”是值
        hashMap.put("2","李四");
        hashMap.put("3","王五");
        hashMap.get("1");//get() 获取指定索引位置的值的方法
        hashMap.remove("2");//remove() 移除指定位置的键和值

Hay dos formas de atravesar:

 Set<String> keySet = hashMap.keySet();//获取键的集合
        for (String s : keySet) {
            System.out.println(hashMap.get(s));
        }
    }
//获取集合中的每一个键值对对象的集合遍历
 Set<Map.Entry<String, String>> entrySet = hashMap.entrySet();
        for (Map.Entry<String, String> s : entrySet) {
            String key=s.getKey();
            String value=s.getValue();
            System.out.println(key+":"+value);
        }

LinkedHashMap (subclase): lista vinculada, implementación de la tabla hash
Características: Pedido
Sin método especial, similar al método transversal hashMap.

8 artículos originales publicados · Me gusta0 · Visitas 38

Supongo que te gusta

Origin blog.csdn.net/FearSun/article/details/105385757
Recomendado
Clasificación