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介绍的更多相关文章

  1. List接口:(介绍其下的两个实现类:ArrayList和LinkedList)

    以下介绍接口: List接口:(介绍其下的两个实现类:ArrayList和LinkedList) ArrayList和数组非常类似,其底层①也用数组组织数据,ArrayList是动态可变数组. ①  ...

  2. ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转)

    主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以 ...

  3. ArrayList和LinkedList的几种循环遍历方式及性能对比分析

    最新最准确内容建议直接访问原文:ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性 ...

  4. ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转载)

    原文地址: http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 原文地址: http://www.trinea.cn ...

  5. ArrayList和LinkedList遍历方式及性能对比分析

    ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayLis ...

  6. 【转】ArrayList和LinkedList的几种循环遍历方式及性能对比分析

    原文网址:http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 主要介绍ArrayList和LinkedList这两种 ...

  7. Arraylist、Linkedlist遍历方式性能分析

    本文主要介绍ArrayList和LinkedList这两种list的常用循环遍历方式,各种方式的性能分析.熟悉java的知道,常用的list的遍历方式有以下几种: 1.for-each List< ...

  8. Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 [ 转载 ]

    Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 @author Trinea 原文链接:http://www.trinea.cn/android/arrayl ...

  9. 设计模式(8) - 迭代器模式(iterator)- 实现ArrayList和linkedList的迭代器

    上周六就開始写这篇博客,之后一直耽误了.到前天才開始写.今天醒的早,就把这部分整理一下. 本文内容參考易学设计模式和马士兵的迭代器模式的视频. 了解迭代器模式一个作用就是让你在使用 迭代器遍历集合类的 ...

随机推荐

  1. 建议3:正确处理Javascript特殊值---(1)正确使用NaN和Infinity

    NaN时IEEE 754中定义的一个特殊的数量值.他不表示一个数字,尽管下面的表达式返回的是true typeof(NaN) === 'number' //true 该值可能会在试图将非数字形式的字符 ...

  2. 《Java知识应用》Java加密方式(MD5)详解

    1. 应用 使用MD5加密 因为:因为MD5的不可逆性,也可以保证你的key 是安全的,黑客无法通过原文和密文知晓你的key. 案例: import java.math.BigInteger; imp ...

  3. ObjectPool 对象池设计模式

    Micosoft.Extension.ObjectPool 源码架构.模式分析: 三大基本对象: ObjectPool抽象类 ObjectPoolProvider抽象类 IPooledObjectPo ...

  4. Cortex-A7处理器算数运算指令和逻辑运算指令

      汇编中也可以进行算术运算, 比如加减乘除,常用的运算指令用法如表所示: 常用运算指令 在嵌入式开发中最常会用的就是加减指令,乘除基本用不到. 我们用 C 语言进行CPU 寄存器配置的时候常常需要用 ...

  5. 精通awk系列(11):awk的工作流程

    回到: Linux系列文章 Shell系列文章 Awk系列文章 awk工作流程 参考自:man awk的"AWK PROGRAM EXECUTION"段. man --pager= ...

  6. tesseract-OCR + pytesseract安装

    1. tesseract-OCR下载安装 地址:https://digi.bib.uni-mannheim.de/tesseract/ 选择一个版本下载,下载完成点击**.exe进行安装,若无其他需求 ...

  7. Elasticsearch核心技术与实战-学习笔记

    学习资源: Elasticsearch中文社区日报https://elasticsearch.cn/article/ Elasticsearch 官网 https://www.elastic.co/ ...

  8. GO基础之异常处理

    一.异常 1. 错误指程序中出现不正常的情况,从而导致程序无法正常执行.•大多语言中使用try... catch... finally语句执行.假设我们正在尝试打开一个文件,文件系统中不存在这个文件. ...

  9. 剑指offer笔记面试题1----赋值运算符函数

    题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数. class CMyString{ public: CMyString(char* pData = nullptr); CMyS ...

  10. GitLab-怎样使用GitLab托管项目

    场景 Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...