Definiciones de lista, pila, cola, conjunto y mapa y métodos comunes

Inserte la descripción de la imagen aquí

conjunto

Dos tipos principales en la biblioteca de contenedores de Java

1. Solo se almacena un elemento en cada ranura
  Collection:描述所有序列容器的共性的根接口;
  List:以特定的顺序保存一组元素;
  Set:元素不能重复;
  Queue:只允许在容器的一端插入对象,并从另一端移除对象。
2. Se guardan dos objetos en cada ranura
  Map:键与之相关联的值。

Lista

1. Resumen del método:
  • add (E e): añade el elemento especificado al final de esta lista (operación opcional);
  • contiene (Objeto o): Si esta lista contiene el elemento especificado, devuelve verdadero;
  • remove (int index): elimina el elemento en la posición especificada en la lista (operación opcional), se usará el método equels ();
  • indexOf (Object o): Devuelve el índice de la primera aparición del elemento especificado en esta lista. Si esta lista no contiene un elemento, devuelve -1. Se utilizará el método equels ();
  • subList (int fromIndex, int toIndex): Devuelve la vista entre fromIndex (inclusive) y toIndex especificada en esta lista;
  • containsAll (Collection <?> c): Si esta lista contiene todos los elementos de la colección especificada, devuelve verdadero.
  • retenerTodo (Colección <?> c): Solo conserva los elementos de esta lista contenidos en la colección especificada (operación opcional), el comportamiento resultante depende de equals ();
  • removeAll (Collection <?> c): Elimina todos los elementos contenidos en la colección especificada de esta lista (operación opcional), el comportamiento resultante depende de equals ();
  • set (int index, E element): Reemplaza el elemento en la posición especificada en esta lista con el elemento especificado (operación opcional);
  • isEmpty (): si esta lista no contiene elementos, devuelve verdadero;
  • clear (): borra todos los elementos de esta lista (operación opcional);
2. ArrayList: es más largo que los elementos de acceso aleatorio, pero es más lento para insertar y eliminar elementos en el medio de la lista;
3. LinkList: proporciona acceso optimizado a través de operaciones de inserción y eliminación de bajo costo en el medio de la lista.
  • Implementó la interfaz básica de Lista
  • getFirst () y element () devuelven el encabezado de la lista en lugar de eliminarlo. Si la Lista está vacía, se lanzará una NoSuchElementException; si la lista está vacía, el método peek () devolverá nulo;
  • removeFirst () y remove () eliminan y devuelven el encabezado de la lista, y lanzan NoSuchElementException cuando la lista está vacía; poll () devuelve nulo si la lista está vacía;
  • removeLast () elimina y devuelve el último elemento de la lista.

Apilar

1. El primero en entrar, el último en salir (LIFO) LinkList tiene un método para implementar directamente todas las funciones de la pila, por lo que puede usar directamente LinkedList como una pila. A veces una "pila" real puede aclarar las cosas.
	public class Stack<T> {
    
      
    private LinkedList<T> storage = new LinkedList<T>();  
    public void push(T v){
    
     storage.addFirst(v); }  
    public T peek(){
    
     return storage.getFirst(); }  
    public T pop(){
    
     return storage.removeFirst(); }  
    public boolean empty(){
    
     return storage.isEmpty(); }  
    public String toString(){
    
     return storage.toString(); }  
}

Cola

1. La cola es un contenedor típico de primero en entrar, primero en salir (FIFO), es decir, las cosas se colocan en una sección del contenedor y se sacan del otro extremo, y el orden en el que las cosas se colocan en el contenedor y se sacan es el mismo.
2. Resumen del método:
* offer(E e) :如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中;
* peek() :检索但不删除此队列的头,如果此队列为空,则返回 null;
* element() :检索,但不删除,这个队列的头,为空会抛出NoSuchElementException; 
* poll() :检索并删除此队列的头,如果此队列为空,则返回 null 。
* remove() 检索并删除此队列的头,为空会抛出NoSuchElementException。
3. PriorityQueue

La cola de prioridad declara que el siguiente elemento emergente es el elemento más necesario (con la prioridad más alta)

Conjunto

1. HashSet: utilice una forma bastante complicada de almacenar elementos, la forma más rápida de obtener elementos, utilice una función hash;
2. TreeSet: guarde los objetos en orden ascendente de los resultados de la comparación y guárdelos en la estructura de datos de árbol rojo-negro;
3. LinkedHashSet: Guarda los objetos en el orden en que se agregan, también se usan hashes y las listas vinculadas se usan para mantener el orden de inserción de los elementos.

Mapa

1. El mapa puede devolver un Conjunto de sus claves, su valor es Colección, o su par clave-valor es Conjunto, keySet () devuelve una vista Conjunto de las claves contenidas en este mapa.
1. HashMap: proporciona la tecnología de búsqueda más rápida, no almacena elementos en ningún orden obvio;
2. TreeMap: guarde las claves de objeto en orden ascendente del resultado de la comparación;
3. LinkedHashMap: guarde las claves en el orden de inserción, conservando la velocidad de búsqueda de HashMap.

Iterador

1. El iterador es también un patrón de diseño, es un objeto, atraviesa y selecciona objetos en la secuencia cuando funciona;
2. Extrañas restricciones sobre los iteradores:
* 使用iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的一个元素;
* 使用next()获得序列中的下一个元素;
* 使用hasNext()检查序列中是否还有元素;
* 使用remove()将迭代器信近返回的元素删除。

Supongo que te gusta

Origin blog.csdn.net/Zmd_23/article/details/108554176
Recomendado
Clasificación