文章目录
- 1.特点
- 2.常用方法
- 3.练习:LinkedList测试
1.特点
链表,两端效率高,底层就是链表实现的
List接口的实现类,底层的数据结构为链表,内存空间是不连续的
- 元素有下标,有序
- 允许存放重复的元素
- 在数据量较大的情况下,查询慢,增删快
2.常用方法
void addFirst(E e) 添加首元素
void addLast(E e) 添加首元素
E getFirst() 获取首元素
E getLast() 获取尾元素
E element() 获取首元素
E removeFirst() 删除首元素
E removeLast() 删除尾元素boolean offer(E e) 添加尾元素
boolean offerFirst(E e) 添加首元素
boolean offerLast(E e) 添加尾元素
E peek() 获取首元素
E peekFirst() 获取首元素
E peekLast() 获取尾元素
E poll() 返回并移除头元素
E pollFirst() 返回并移除头元素
E pollLast() 返回并移除尾元素
3.练习:LinkedList测试
package partThree;
import java.util.LinkedList;
/*本类用于测试LinkedList方法的使用*/
public class TestLinkedList {
public static void main(String[] args) {
//1.创建集合对象
LinkedList<String> list = new LinkedList<>();
//2.向集合中添加数据
list.add("孙悟空");
list.add("猪八戒");
list.add("唐三藏");
list.add("沙师弟");
list.add("白龙马");
System.out.println(list);
//3.1 自行测试继承自Collection与list中的方法
//3.2 测试LinkedList独有的方法
list.addFirst("蜘蛛精");//添加首元素
list.addLast("白骨精");//添加尾元素
System.out.println(list);
System.out.println(list.getFirst());//获取首元素 可以直接写到打印语句中,也可以单独写
System.out.println(list.getLast());//获取尾元素 可以直接写到打印语句中,也可以单独写
System.out.println(list.removeFirst());//移除首元素,成功移除会返回移除的数据
System.out.println(list);//打印移除后剩余的元素
System.out.println(list.removeLast());//移除尾元素,成功移除会返回移除的数据
System.out.println(list);//打印移除后剩余的元素
//4.其他测试
//4.1创建对象
LinkedList<String> list2 = new LinkedList();
//4.2添加数据
list2.add("水浒传");
list2.add("三国演义");
list2.add("西游记");
list2.add("红楼梦");
System.out.println(list2);
System.out.println(list2.element());//水浒传 获取但不移除此列表的首元素(第一个元素)
/**别名:查询系列*/
System.out.println(list2.peek());//获取但不移除此列表的首元素(第一个元素)
System.out.println(list2.peekFirst());//获取但不移除此列表的首元素(第一个元素)
System.out.println(list2.peekLast());//获取但不移除此列表的尾元素(最后一个元素)
/**别名:新增系列*/
System.out.println(list2.offer("遮天"));//将指定元素添加到列表末尾
System.out.println(list2.offerFirst("破天"));//将指定元素插入列表开头
System.out.println(list2.offerLast("补天"));//将指定元素插入列表末尾
System.out.println(list2);
/**别名:移除系列*/
System.out.println(list2.poll());//获取并且移除此列表的首元素(第一个元素),成功移除,返回移除元素
System.out.println(list2.pollFirst());//获取并且移除此列表的首元素(第一个元素),成功移除,返回移除元素,如果此列表为空,则返回null
System.out.println(list2.pollLast());//获取并且移除此列表的尾元素(最后一个元素),成功移除,返回移除元素,如果此列表为空,则返回null
System.out.println(list2);
}
}