LinkedList学习

Java LinkedList学习:

  • LinkedList定义:

    • 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是再每一个节点里存到下一个节点的地址;

    • 链表可分为单向链表和双向链表;

    • 单向链表包含2个值:当前节点的值和一个指向下一节点的连接;

    • 双向链表有3个值:数值,向后的节点连接,向前的节点连接;

    • LinkedList:增加和删除的操作效率高,而查找和修改的操作效率低

       

  • 以下情况使用ArrayList:

    • 频繁访问列表中的某一个元素;

    • 只需要在列表末尾进行添加和删除元素;

  • 以下情况使用LinkedList:

    • 需要通过循环迭代来访问列表中的某些元素;

    • 需要频繁的在列表开头,中间,末尾等位置进行添加和删除元素操作;

 

  • LinkedList语法:


    LinkedList<E> list=new LinkedList<E>();//普通创建方法

    //创建一个链表实例
    public class ListDemo04 {
       public static void main(String[] args) {

           LinkedList<String> list=new LinkedList<>();
           list.add("Google");
           list.add("baidu");
           list.add("haha");

           System.out.println(list);//[Google, baidu, haha]

      }
    }

     

  • LinkedList的常用方法:

    • 在列表头部插入元素:addFirst( );

      • 代码案例:

        public class ListDemo04 {
           public static void main(String[] args) {

               LinkedList<String> list=new LinkedList<>();
               list.add("Google");
               list.add("baidu");
               list.add("haha");

               list.addFirst("First");//直接插入元素值

               System.out.println(list);//[First, Google, baidu, haha]

          }
        }

         

    • 在列表头部移除元素:removeFirst( );

      • 代码案例:

        public class ListDemo04 {
           public static void main(String[] args) {

               LinkedList<String> list=new LinkedList<>();
               list.add("Google");
               list.add("baidu");
               list.add("haha");

               list.removeFirst();//无参数,直接移除

               System.out.println(list);//[baidu, haha]

          }
        }

         

    • 在列表表结尾插入元素:addLast( );

      • 代码案例:

        public class ListDemo04 {
           public static void main(String[] args) {

               LinkedList<String> list=new LinkedList<>();
               list.add("Google");
               list.add("baidu");
               list.add("haha");

               list.addLast("First");//直接插入元素值

               System.out.println(list);//[Google, baidu, haha, First]

          }
        }

         

    • 在列表表结尾删除元素:removeLast( );

      • 代码案例:

        public class ListDemo04 {
           public static void main(String[] args) {

               LinkedList<String> list=new LinkedList<>();
               list.add("Google");
               list.add("baidu");
               list.add("haha");

               list.removeLast();//无参数,直接移除

               System.out.println(list);//[Google, baidu]

          }
        }

         

    • 获取列表第一个元素:getFirst( );

      • 代码案例:

        public class ListDemo04 {
           public static void main(String[] args) {

               LinkedList<String> list=new LinkedList<>();
               list.add("Google");
               list.add("baidu");
               list.add("haha");


               System.out.println(list.getFirst());//Google

          }
        }

         

      • 获取列表最后一个元素:getLast( );

        • 代码案例:

          public class ListDemo04 {
             public static void main(String[] args) {

                 LinkedList<String> list=new LinkedList<>();
                 list.add("Google");
                 list.add("baidu");
                 list.add("haha");


                 System.out.println(list.getLast());//haha

            }
          }

posted @   gzs1024  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示