赞
踩
LinkedList 底层用双向链表实现的存储。特点:查询效率低,增删效率高,线程不安全。双向链表也叫双链表,是链表的一种,它的每个数据节点中都有两个指针,分别指向前一个节点和后一个节点。 所以,从双向链表中的任意一个节点开始,都可以很方便地找到所有节点。
- class Node<E> {
- E item;
- Node<E> next;
- Node<E> prev;
- }
LinkedList实现了List接口 ,所以LinkedList是具备List的存储特征的(有序、元素有重复)
- package LinkedList;
- /*
- *
- * 双向链表,List接口中定义的标准
- *
- * */
- import java.util.Arrays;
- import java.util.LinkedList;
-
- public class Test {
- public static void main(String[] args) {
- LinkedList<String> linkedList = new LinkedList<>();
- //增加元素
- linkedList.add("张三");
- linkedList.add("李四");
- linkedList.add("王五");
- linkedList.add("赵六");
- //获取元素
- for(String list: linkedList ){
- System.out.println(list);
- }
- // 删除元素,返回给flag删除元素的值
- String flag = linkedList.remove(0);
- System.out.println(flag);
- //转换为数组形式
- String[] strings = linkedList.toArray(new String[linkedList.size()]);
-
- // 输出数组·
- System.out.println(Arrays.toString(strings));
-
- }
- }

运行结果:
- import java.util.Arrays;
- import java.util.LinkedList;
-
- public class Test02 {
-
- /*
- * 非List的使用
- * 它在实现List的时候也添加了自己的方法
- * 以双向链表存储内容
- * */
- public static void main(String[] args) {
- LinkedList<String> linkedList = new LinkedList<>();
- // 在链表的第一个位置进行插入元素
- linkedList.addFirst("a");
- linkedList.addFirst("b");
- linkedList.addFirst("c");
-
- // 为了让视觉鲜果更加明显。我们尽量使用数组形式进行输出
- String[] strings = linkedList.toArray(new String[linkedList.size()]);
- System.out.println(Arrays.toString(strings)); //输出内容为c、b、a
- // 得到第一个元素
- System.out.println(linkedList.get(0)); //输出c
- System.out.println(linkedList.get(1)); //输出b
-
- // 得到最后一个元素
- System.out.println(linkedList.getLast()); //输出a
-
- // 移除第一个元素
- linkedList.removeFirst();
-
- // 移除最后一个元素
- linkedList.removeLast();
-
- // 移除元素之后我们的List中就只剩下b了
- // 那我们读取栈顶元素
- System.out.println("读取到栈顶元素:"+linkedList.peek());
-
- // 再注入元素
- linkedList.push("注入");
- String[] str = linkedList.toArray(new String[linkedList.size()]);
- System.out.println(Arrays.toString(str));
-
- }
- }

运行结果;
本章因为涉及到数据结构内容中双向链表部分,以后还会继续扩展,请大家多多关注!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。