当前位置: 首页 > news >正文

java集合之linkedList链表基础

LinkedList链表

List接口的链接列表实现。允许存储所有元素(包含null)。使用频繁增删元素。

linkedList方法:

void addFirst(E e) 指定元素插入列表的开头

void addLast(E e)

boolean offerFirst(E e) 在此列表的开头插入指定的元素

boolean offerLast(E e)

E getFirst() 返回此列表的第一个元素

E getLast()

E removeFirst() 移除并返回此列表的第一个元素

E removeLast()

E peekFirst() 获取但不移除此列表的一个元素,若此列表为空,则返回null

E peekLast()

E pollFirst() 获取并移除此列表的第一个元素,若此列表为空,则返回null

E pollLast()

 

LinkList线程不同步,可在创建时使其保持同步,

List list=Collections.synchronizedList(new LinkList(…));

示例:

package test;

import java.util.LinkedList;

import java.util.List;

 

public class LinkedListTest {

    public static void main(String[] args) {

        // 测试LinkedList常用方法

        testLinkedListMethods() ;

    }

   

    private static void testLinkedListMethods() {

        LinkedList<String> llist = new LinkedList<String>();

    //List<String> llist = new LinkedList<String>();

        llist.add("1");

        llist.add("2");

        llist.add("3");

        llist.add("测试4");

        llist.add(2, "test5");//添加到指定位置

        llist.addFirst("开始位置6");//添加到开始位置

        System.out.println("1-llist:"+llist);

        System.out.println("2-llist.removeFirst():"+llist.removeFirst());//removeFirst()返回移除的值

        System.out.println("3-llist:"+llist);

        System.out.println("4-llist.getFirst():"+llist.getFirst());//,LinkedList有

        llist.offerFirst("10");//列表开始位置插入,LinkedList有

        System.out.println("5-llist:"+llist);

        System.out.println("llist.pollFirst():"+llist.pollFirst());//返回并移除列表开始位置的值

        System.out.println("6-llist:"+llist);

        System.out.println("7-llist.peekFirst():"+llist.peekFirst());//返回但不移除列表第一个元素

        llist.addLast("列表尾部插入1");//,LinkedList有

        System.out.println("8-llist:"+llist);

        System.out.println("9-llist.removeLast():"+llist.removeLast());//返回并移除列表最后一个值

        System.out.println("10-llist:"+llist);

        System.out.println("11-llist.getLast():"+llist.getLast());//返回列表最后一个值

        llist.offerLast("20");//列表尾部增加

        System.out.println("12-llist:"+llist);

        System.out.println("13-llist.pollLast():"+llist.pollLast());//获取并移除列表的列表的最后一个元素

        System.out.println("14-llist:"+llist);

        System.out.println("15-llist.peekLast():"+llist.peekLast());//

        llist.set(2, "300");

        System.out.println("16-\nget(3):"+llist.get(2));

        // 将LinkedList转行为数组

        String[] arr = llist.toArray(new String[0]);

        for (String str:arr)

            System.out.println("17-str:"+str);

        System.out.println("18-size:"+llist.size());

        // 清空LinkedList

        llist.clear();

        // 判断LinkedList是否为空

        System.out.println("19-isEmpty():"+llist.isEmpty()+"\n");

    }

 

}

转载于:https://www.cnblogs.com/perfumeBear/p/9473444.html

相关文章:

  • ReSharper7.1.25.234 注册机
  • Java之word导出下载
  • bootstrap完美实现5列布局
  • 第二章 JAVA语言基本语法————数据类型之间的转换
  • 爱奇艺大数据招聘
  • 记一次element-ui组件开发经历
  • 初遇博客园
  • 知乎收藏—曾国藩
  • C++开发浏览器插件ActiveX(一)
  • Shell脚本进阶(下)
  • SharePoint 2013 母版页取消和HTML页关联
  • 小邵教你玩转Generator+co/async await
  • find命令使用详解
  • NIO
  • 如果是你,你会怎样回答?
  • Angularjs之国际化
  • Docker入门(二) - Dockerfile
  • Docker下部署自己的LNMP工作环境
  • egg(89)--egg之redis的发布和订阅
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Java的Interrupt与线程中断
  • JSONP原理
  • js操作时间(持续更新)
  • node学习系列之简单文件上传
  • Windows Containers 大冒险: 容器网络
  • 从零开始在ubuntu上搭建node开发环境
  • 基于遗传算法的优化问题求解
  • 你不可错过的前端面试题(一)
  • 什么软件可以剪辑音乐?
  • 算法之不定期更新(一)(2018-04-12)
  • 小程序 setData 学问多
  • 用 Swift 编写面向协议的视图
  • 自制字幕遮挡器
  • mysql面试题分组并合并列
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #pragam once 和 #ifndef 预编译头
  • $jQuery 重写Alert样式方法
  • (2)(2.10) LTM telemetry
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • .gitignore文件_Git:.gitignore
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net 验证控件和javaScript的冲突问题
  • .NET建议使用的大小写命名原则
  • .NET中winform传递参数至Url并获得返回值或文件
  • /etc/skel 目录作用
  • [ JavaScript ] JSON方法
  • [<事务专题>]
  • [Bugku]密码???[writeup]
  • [C#]使用DlibDotNet人脸检测人脸68特征点识别人脸5特征点识别人脸对齐人脸比对FaceMesh
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [iOS]如何删除工程里面用cocoapods导入的第三方库