ArrayList和LinkedList介绍

Posted julyzqy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList和LinkedList介绍相关的知识,希望对你有一定的参考价值。

java.util.ArrayList集合的数据存储结构是数组,且是多线程,元素增删慢,查找快,

由于日常使用开发大多数为查询数据,遍历数据,所以ArrayList是最常用的集合。上一节已写了。

java.util.LinkedList集合属于双向链表,查询慢,增删快,有大量操作首尾元素的方法,下面用代码实现LinkedList的方法:

package 集合;

import java.util.LinkedList;

/* LinkedList集合的特点:
 * 1.底层是一个链表形式的结构,查询慢,增删快
 * 2.里面包含了大量操作首尾元素的方法
 * 注意:使用LinkedList集合特有的方法,不能使用多态
 */
public class demo02LinkedList {
     
      public static void main(String[] args) {
         show1();
         System.out.println("------------------");
         show2();

    }
      private static void show1() {
         LinkedList<String> linked= new LinkedList<String>();
         //添加元素
         linked.add("a");
         linked.add("b");
         linked.add("c");
         System.out.println(linked);
         //在linked集合的首位置添加元素
          linked.addFirst("www");
          linked.push("www"); //和addFirst结果一样的
          System.out.println(linked);
          //在linked集合末位置添加元素
          linked.addLast(".com");
          System.out.println(linked);
      }
      private static void show2() {
          LinkedList<String> linked= new LinkedList<String>();
             //添加元素
             linked.add("a");
             linked.add("b");
             linked.add("c");
             System.out.println(linked);
             //返回linked集合的第一个元素
             String first=linked.getFirst();
             System.out.println(first);
            //返回linked集合的最后一个元素
             String last=linked.getLast();
             System.out.println(last);
             //清空集合,集合已经空了,清空之后不能再调用方法了,否则报错。
            // linked.clear();
             //如果不为空,继续可以调用方法
             if(!linked.isEmpty())
             {
                 
                 String f=linked.getFirst();
                 System.out.println(f);
             }
             //移除集合的第一个元素
             linked.removeFirst();
             System.out.println(linked);
             //移除集合最后一个元素
             linked.removeLast();
             System.out.println(linked);
             
             
      }

}

以上是关于ArrayList和LinkedList介绍的主要内容,如果未能解决你的问题,请参考以下文章

Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

集合框架

从源代码来理解ArrayList和LinkedList差别

Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例

数组和链表的区别ArrayList和LinkedList的区别使用LinkedList模拟栈和队列

LinkedList源码解析