1. Descripción general de LinkedList
La colección ArrayList es muy rápida cuando se consultan elementos , pero es menos eficiente cuando se elimina . Para superar esta limitación, puede usar LinkedList.
LinkedList mantiene una lista vinculada doblemente circular , y cada elemento de la lista vinculada está conectado entre sí. Insertar y eliminar elementos solo necesita modificar la relación de aplicación entre los elementos.
Caracteristicas:
- Adición y eliminación muy eficiente.
- Baja eficiencia de consulta
Segundo, métodos únicos de LinkedList
Ejemplos:
LinkedList<String> list=new LinkedList<>();
list.add("yyy");
list.add("wtc");
list.add("yyy");
//特有的方法
list.addFirst("aaa");//添加到列头
list.addLast("bbb");//添加到列尾
System.out.println(list);
list.removeFirst();//删除列头
list.removeLast();//删除列尾
System.out.println(list);
//寻找某个字符串最后出现的位置
System.out.println("yyy最后出现的位置是"+list.lastIndexOf("yyy"));
//推荐用迭代器去遍历
ListIterator<String> it= list.listIterator();
while (it.hasNext()){
System.out.println(it.next());
}
Resultado de la operación:
3. Ejercicios
- Eliminar elementos duplicados en ArrayList
import java.util.ArrayList;
public class demo_移除arraylist里的重复元素 {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("b");
list.add("a");
list.add("b");
list.add("a");
list.add("b");
for(int i=0;i<list.size();i++){
String s=list.get(i);
for(int j=i+1;j<list.size();j++){
String s1=list.get(j);
if(s.equals(s1)){
list.remove(j);
j--;
}
}
}
System.out.println(list);
}
}
Resultado de la operación:
- ArrayList 嵌套 ArrayList
import java.util.ArrayList;
public class demo_Arraylist嵌套Arraylist {
public static void main(String[] args) {
ArrayList a1=new ArrayList();
a1.add("小米");
a1.add("小明");
a1.add("小红");
ArrayList a2=new ArrayList();
a2.add("wtc");
a2.add("yyy");
ArrayList<ArrayList> aa=new ArrayList<>();
aa.add(a1);
aa.add(a2);
for(int i=0;i<aa.size();i++){
ArrayList arrayList=aa.get(i);
for(int j=0;j<arrayList.size();j++){
System.out.println(arrayList.get(j));
}
}
}
}
Resultado de la operación: