java-API之集合6——LinkedList实现类
LinkeList实现类的特点
- 数据有序,有下标,可重复
- 底层维护了一个链表,适合新增和删除的操作,不适合查询
创建对象
LinkedList()构造一个空列表。
常用方法
继承的接口的常用方法参考:java-API之集合4——List接口以及其子接口ArrayList和LinkedList接口
特有方法:
- 添加元素
void addFirst(E e)将指定元素插入此列表的开头。void addLast(E e)将指定元素添加到此列表的结尾。boolean offerFisrt(E e)在此列表的开头插入指定的元素。boolean offerLast(E e)在此列表末尾插入指定的元素。boolean offer(E e)将指定元素添加到此列表的末尾(最后一个元素)。void push(E e)将元素推入此列表所表示的堆栈。- 删除元素
- 获取元素
注:以上方法有点多,可以根据功能记忆,实现某一操作的方法也比较到,但是返回值也略有不同,使用的场景也不一样,可以大致了解下,需要了查用下就OK了。
特有方法的测试
1 public class Test1_LinkedList { 2 3 public static void main(String[] args) { 4 5 // 1、创建对象 6 // LinkedList<Integer> link = new LinkedList<Integer>(); 7 LinkedList<Integer> link = new LinkedList<>(); //新语法 8 // 2、测试方法 9 10 link.add(100); 11 link.add(200); 12 link.add(300); 13 link.add(400); 14 System.out.println(link); // [100, 200, 300, 400] 15 link.addFirst(1); 16 link.addLast(5); // 与add方法雷同 17 System.out.println(link); // [1, 100, 200, 300, 400, 5] 18 19 System.out.println(link.getFirst()); // 1 获取第一个元素 20 System.out.println(link.getLast()); // 5 获取最后一个元素 21 22 System.out.println(link.removeFirst()); // 删除第一个元素,返回删除的元素 23 System.out.println(link); // [100, 200, 300, 400, 5] 24 25 System.out.println(link.removeLast()); // 删除最后一个元素,返回删除的元素 26 System.out.println(link); // [100, 200, 300, 400] 27 28 // System.out.println(link.offer(1)); //true 添加最后一个元素,返回true/false 29 System.out.println(link.offerLast(1)); //true 添加最后一个元素,返回true/false 30 System.out.println(link); // [100, 200, 300, 400, 1] 31 32 System.out.println(link.offerFirst(5)); //true 添加第一个元素,返回true/false 33 System.out.println(link); // [5, 100, 200, 300, 400, 1] 34 35 // System.out.println(link.poll()); // 获取并移除此列表的头(第一个元素);如果此列表为空,则返回 null。 36 System.out.println(link.pollFirst()); // 5 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。 37 System.out.println(link); // [100, 200, 300, 400, 1] 38 System.out.println(link.pollLast()); // 1 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。 39 System.out.println(link); // [100, 200, 300, 400] 40 LinkedList<Integer> link2 = new LinkedList<>(); //新语法 41 System.out.println(link2.poll()); // null 42 System.out.println(link2.pollFirst()); // null 43 44 System.out.println(link.pop()); // 100 从此列表所表示的堆栈处弹出一个元素。 45 System.out.println(link); // [200, 300, 400] 46 link.push(500); // 将元素推入此列表所表示的堆栈。 47 System.out.println(link); // [500, 200, 300, 400] 48 49 } 50 51 }

浙公网安备 33010602011771号