java链表list_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 llist = new LinkedList();
//List llist = new LinkedList();
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");
}
}
java链表list_java集合之linkedList链表基础相关推荐
- java同步list_Java集合--ArrayList出现同步问题的原因
1 fail-fast简介 fail-fast 机制是java集合(Collection)中的一种错误机制.当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件. 例如:当某一个 ...
- java链表集合_Java底层基于链表实现集合和映射--集合Set操作详解
本文实例讲述了Java底层基于链表实现集合和映射--集合Set操作.分享给大家供大家参考,具体如下: 在Java底层基于二叉搜索树实现集合和映射中我们实现了底层基于二叉搜索树的集合,本节就底层如何基于 ...
- Java基础(19)数据结构概述、ArrayList集合、Vector集合、LinkedList集合、集合框架练习
1. 数据结构概述 1. 数据结构的概述:数据结构就是数据存储的方式 2. 常见数据结构:栈,队列,数组,链表,二叉树,哈希表 3. 栈和队列 (1)栈:先进后出,后进先出 (2)队列:先进先出,后进 ...
- 用Java描述数据结构之线性表的链式存储(链表),模拟LinkedList实现
上一篇介绍了顺序表:用Java描述数据结构之线性表的顺序存储(顺序表),ArrayList及其方法的介绍 上一篇博客中说明了什么是线性表--线性表就是一个个数据元素逻辑上以一对一的相邻关系(但是在物理 ...
- JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab
JAVA 基本数据结构(转载) --数组.链表.ArrayList.Linkedlist.hashmap.hashtab
- java集合框架LinkedList类的方法理解
java提供的LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用. LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口 ...
- java linkedlist源码_Java集合之LinkedList源码分析
一.LinkedList简介 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的. ps:这里有一个问题,就是关于实现LinkedList的数据结构是否 ...
- java 查找链表中间元素_java查找链表中间元素_如何通过Java单次查找链表的中间元素...
java查找链表中间元素 您如何一次找到LinkedList的中间元素是一个编程问题,在电话采访中经常问Java和非Java程序员. 这个问题类似于检查回文或 计算阶乘 ,有时Interviewer还 ...
- java遍历范型list_Java 集合(1)-- 俯瞰 Java 集合源码以及分类
(一) java集合分类 之前大概分为三种,Set,List,Map三种,JDK5之后,增加Queue.主要由Collection和Map两个接口衍生出来,同时Collection接口继承Iterab ...
最新文章
- SQL 调优专题总结
- Tungsten Fabric SDN — VNC API — API Client 的 Python SDK
- ALSM_EXCEL_TO_INTERNAL_TABLE
- Patent Writing and cultivation of innovation thinking
- Intel CPU内存屏障
- jzoj100029. 【NOIP2017提高A组模拟7.8】陪审团(贪心,排序)
- 状态机(FSM)的介绍--以检测序列1001为例
- 极简代码(四)—— 分段函数(sinc)的实现
- CF789D Mike and distribution
- 12. Element attributes 属性
- 机械制图计算机识图,机械制图基础知识
- julia Pkg.add() 安装package时卡着不动慢怎么办
- HDU 6184 Counting Stars(分块)
- Microsoft System Center (SCCM/SCOM)简介
- 《目标》读后感,一本小说体的管理学著作
- c语言 饱和加法,[转载]优化饱和加法运算
- JSP页面图片显示不了
- C语言3067答案,教师招聘《小学教育心理学》通关试题每日练(2020年03月03日-3067)...
- java memorystream 包_C#使用MemoryStream类读写内存
- 某系统采用基于优先权的非抢占式进程调度策略,完成一次进程调度和进程切换的系统时间开销为 1μs。
热门文章
- In order to use Instant Run with this device running API 26, you must install platform API 26 in you
- Caused by: java.lang.IllegalStateException: View ' '
- linux下卸载自带jdk,重新安装jre运行环境
- 机器学习三要素之数据、模型、算法
- 第一篇博客,纪念一下,终于开通啦!
- [笔记]C#基础入门(八)——C#标识符的命名规则
- Java学习笔记(二)不定时更新
- 可以发张图片做链接用吗
- 一个“复制/删除”方式的滚动
- Dojo QuickStart 快速入门教程 (1) Why Dojo