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. Jmeter查看结果树之查看响应的13种方法[详解]

    查看结果树查看响应有哪几种方法,可通过左侧面板底部的下拉框选择 1.Text 查看结果树中请求的默认格式为text,会显示请求的取样器结果.请求.响应数据3个部分内容. 取样器结果: 默认Raw视图, ...

  2. go1.13 mod 实践和常见问题

    实践建议 0,go mod 要求所有依赖的 import path 的path 以域名开头,如果现有项目转1.13的go mod 模式,且不是以域名开头则需要修改. eg: code.be.mingb ...

  3. 一个非常美的FlutterUI组件扩展集:FLUI

    项目地址 FLUI 官网 下载 Demo APK 体验 这是一个群内的网友写的,感觉里面的组件风格非常美,封装的挺到位的,在此推荐给大家,具体可以参考学习. 可以学到的知识还是挺多的,组件UI封装可以 ...

  4. 【ES6】数值的扩展

    1.Number.isFinite()和Number.isNaN()[只对数值有效] (1)Number.isFinite()用来检查一个数值是否为有限的(finite),即不是Infinity. [ ...

  5. 基于 TrueLicense 的项目证书验证

    一.简述 开发的软件产品在交付使用的时候,往往有一段时间的试用期,这期间我们不希望自己的代码被客户二次拷贝,这个时候 license 就派上用场了,license 的功能包括设定有效期.绑定 ip.绑 ...

  6. kuangbin专题 数论基础 part1?

    线段树专题太难了,那我来做数学吧! 但数学太难了,我......(扯 这两天想了做了查了整理了几道数学. 除了一些进阶的知识,像莫比乌斯反演,杜教筛,min25学不会我跳了,一些基础的思维还是可以记录 ...

  7. uni-app开发小程序入门到崩溃

    最近一段时间公司要做一个小程序项目,还要支持,微信小程序,头条小程序,百度小程序.一套代码,实现三个平台.当时接到这个任务,就不知道怎么去下手,一套代码,分别要发布三个平台,赶紧就去上网了解这些东西, ...

  8. 【活动】美团技术沙龙第49期:AI在外卖场景中的最佳实践

    美团技术沙龙第49期开始啦! 本次沙龙,美团外卖技术部专家会深入介绍AI在对话系统.图像处理.个性化推荐.智能营销等方向在外卖业务中的实践,希望与业界技术同学一起交流学习. 无论你从事智能搜索,或是算 ...

  9. Cesium专栏-Billboard加载Gif图片

    Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精度,渲染质量以 ...

  10. linux mysql 数据库复制

    一.主服务器配置 1.配置文件my.cnf的修改 [root@localhost mysql]# vim /etc/my.cnf #在[mysqld]中添加:server-id=1log_bin=ma ...