Java--集合--LinkedList

  1. LinkedList全面说名
  2. LinkedList底层机制

    1.  

       

       

      package com.model.linkedlist;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/6/12 9:21
       */
      public class LinkedListDemo01 {
      
          public static void main(String[] args) {
      //         模拟一个双向链表
              Node a=new Node("a");
              Node b=new Node("b");
              Node c=new Node("c");
              Node first=a;
              Node last=c;
              a.next=b;
              b.next=c;
              c.pre=b;
              b.pre=a;
      
              while(true){
                  if (first==null){
                      break;
                  }
                  System.out.println(first.toString());
                  first=first.next;
              }
              while(true){
                  if (last==null){
                      break;
                  }
                  System.out.println(last.toString());
                  last=last.pre;
              }
      
              //添加一个元素,在a和b之间
              Node B=new Node("B");
              B.next=b;
              B.pre=a;
              b.pre=B;
              a.next=B;
              //循环遍历验证
              first=a;
              last=c;
              while(true){
                  if (first==null){
                      break;
                  }
                  System.out.println(first.toString());
                  first=first.next;
              }
      
          }
      }
      
      class Node{
          protected Node next;
          protected Node pre;
          protected Object item;
      
          public Node(Object item) {
              this.item = item;
          }
      
          @Override
          public String toString() {
              return "Node{" +
                      "item=" + item +
                      '}';
          }
      }
  3. LinkedList底层结构

    1. 执行 :new LinkedList();

    2. 执行 linkedList.add()

    3. 执行 linkedList.remove(1);

      1. package com.model.linkedlist;
        
        import java.util.Iterator;
        import java.util.LinkedList;
        import java.util.List;
        
        /**
         * @Description:测试类
         * @Author: 张紫韩
         * @Crete 2021/6/12 9:49
         */
        public class LinkedListDemo02 {
        
            public static void main(String[] args) {
                List<Object> linkedList = new LinkedList<>();
                linkedList.add("zzh");
                linkedList.add("zzh1");
                linkedList.add("zzh2");
                linkedList.remove(1);
        
                Iterator<Object> iterator = linkedList.iterator();
                while (iterator.hasNext()) {
                    Object next =  iterator.next();
                    System.out.println(next);
                }
                for (Object o:linkedList){
                    System.out.println(o);
                }
                for (int i=0;i<linkedList.size();i++){
                    System.out.println(linkedList.get(i));
                }
        
        
            }
            /**
             * CRUD:增删改查
             *
             * 1.new LinkedList():
             *
             *    public LinkedList() {
             *     }
             *     这是first,last,size都为空
             * 2.
             * */
        }

         

  4. ArrayList和LinkedList的比较

    1.              

posted @ 2021-06-12 11:15  张紫韩  阅读(38)  评论(0编辑  收藏  举报