Descripción general de la colección de listas : heredada de la colección
- Colección ordenada, los usuarios pueden controlar con precisión la posición de inserción de cada elemento en la lista.
Los usuarios pueden acceder a los elementos por índice de números enteros y buscar elementos en la lista. - Permitir elementos duplicados
- ArrayList y LinkedList se heredan de List, por lo que List tiene métodos, también tienen
- La estructura de datos subyacente de ArrayList es una matriz y la estructura de datos subyacente de LinkedList es una lista vinculada
Lista de métodos específicos de la colección:
4. void add (int index, E element): inserta el elemento especificado en la posición especificada en esta colección
5. E remove (int index): elimina el elemento en el índice especificado y devuelve el elemento eliminado
6. E set (int index, E element): modifica el elemento en el índice especificado y devuelve el elemento modificado
7. E get (int index): devuelve el elemento en el índice especificado
Ejemplo:
package List;
import java.util.ArrayList;
import java.util.List;
public class ListDemo02 {
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("hello");
list.add("world");
list.add("java");
//void add(int index,E element)
list.add(1,"javase");
//E remove(int index)
System.out.println(list.remove("hello"));
//E set(int index,E element)
System.out.println(list.set(2,"javaee"));
//E get(int index)
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
System.out.println(list);
}
}
ListIterator: iterador de lista
- Obtenido por el método listiterator () de la colección List, por lo que es un iterador único de la colección List
- Heredado de Iterator: E next (): devuelve el siguiente elemento del iterador
- booleano hasNext (): devuelve verdadero si el iterador tiene más elementos
- E anterior (): Regresa al elemento anterior de la lista.
- boolean hasPrevious (): devuelve verdadero si el iterador tiene más elementos mientras recorre la lista en la dirección opuesta en este momento
- void add (E e): inserta el elemento especificado en la lista
Ejemplo:
package List;
import java.util.*;
public class ListIteatorDemo {
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("hello");
list.add("world");
list.add("java");
ListIterator<String> lit=list.listIterator();
/* while(lit.hasNext()) {
String s=lit.next();
System.out.println(s);
}
System.out.println("------");
//倒序遍历
while(lit.hasPrevious()) {
String s=lit.previous();
System.out.println(s);
}
*/
while(lit.hasNext()) {
String s=lit.next();
if(s.equals("world")) {
lit.add("javaee");
}
}
System.out.println(list);
}
}
Funciones únicas de LinkedList:
- public void addFirst (E e): inserta el elemento especificado al principio de la lista
- public void addLast (E e): agrega el elemento especificado al final de esta lista
- public E getFirst (): devuelve el primer elemento de esta lista
- public E getLast (): devuelve el último elemento de esta lista
- public E removeFirst (): elimina y devuelve el primer elemento de esta lista
- public E removeLast (): elimina y devuelve el último elemento de esta lista
Ejemplo:
package List;
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList<String> linkedList=new LinkedList<>();
linkedList.add("hello");
linkedList.add("world");
linkedList.add("java");
linkedList.addFirst("javase");
linkedList.addLast("javaee");
System.out.println(linkedList.getFirst());
System.out.println(linkedList.getLast());
System.out.println(linkedList.removeFirst());
System.out.println(linkedList.removeLast());
System.out.println(linkedList);
}
}