ArrayList集合在查询元素时速度很快,但在增删元素时效率较低。
为了克服这种局限性,可以使用List接口的另一个实现类LinkedList。
LinkedList集合"内部维护了一个双向循环链表",
链表中的每一个元素都使用引用的方式来记住它的前一个元素和后一个元素,
从而可以将所有的元素彼此连接起来。
当插入一个新元素时,只需要修改元素之间的这种引用关系即可,
删除一个节点也是如此。正因为这样的存储结构,
所以"LinkedList集合对于元素的增删操作具有很高的效率。"
LinkedList:底层是链表结构实现,查询慢、增删快。
特有方法:
void addFirst(Objecto添加元素到开头
void addLast(Objecto)添加元素到末尾
Object getFirst()获取第一个元素
Object getLast()获取最后一个元素
Object removeFirst()删除第一个元素
Object removeLast()删除最后一个元素
package sk;
import java.util.LinkedList;
public class zuokk {
public static void main(String[] args){
LinkedList<String> L1= new LinkedList<>();
L1.add("阿航三");
L1.add("章三");
L1.add("搜索");
L1.add("模块课");
L1.add("芳芳");
System.out.println(L1); /结果是:[阿航三, 章三, 搜索, 模块课, 芳芳]
//void addFirst(Object o)添加元素到开头
L1.addFirst("ss");
System.out.println(L1); /结果是:[ss, 阿航三, 章三, 搜索, 模块课, 芳芳]
//void addLast(Object o) 添加元素到末尾
L1.addLast("谷歌");
System.out.println(L1); /结果是:[ss, 阿航三, 章三, 搜索, 模块课, 芳芳, 谷歌]
//Object getFirst()获取第一个元素
System.out.println(L1.getFirst()); /结果是:ss
//Object getLast()获取最后一个元素
System.out.println(L1.getLast()); / 结果是:谷歌
//Object removeFirst()删除第一个元素
L1.removeFirst();
System.out.println(L1); /结果是:[阿航三, 章三, 搜索, 模块课, 芳芳, 谷歌]
//Object removeLast()删除最后一个元素
L1.removeLast();
System.out.println(L1); /结果是:[阿航三, 章三, 搜索, 模块课, 芳芳]
}
}
java LinkedList集合
最新推荐文章于 2024-11-01 14:48:20 发布