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");

}

}

最新文章

  1. AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布!
  2. html5+css3 微信开发-学习实例
  3. English sentence
  4. Xcode真机调试错误之&quot;Please valify your...clock not set&quot;
  5. XTUOJ 1246 Heartstone 贪心
  6. union 和 union all 有什么不同?
  7. 《Javascript权威指南》十六学习笔记:BOM资源---BOM基本应用
  8. node源码详解(七) —— 文件异步io、线程池【互斥锁、条件变量、管道、事件对象】
  9. CentOS7切换源
  10. L1-049 天梯赛座位分配​​​​​​​
  11. struts2注解json 配置文件json
  12. N阶乘尾部的0个数
  13. [剑指Offer]36-二叉搜索树与双向链表
  14. 【译】快速起步-JSX简介
  15. Stanford CS231n - Convolutional Neural Networks for Visual Recognition
  16. vue set
  17. Javascript图片预加载详解 分类: JavaScript HTML+CSS 2015-05-29 11:01 768人阅读 评论(0) 收藏
  18. c#总结:datatable的方法大全
  19. JSF request参数传递
  20. Oracle冷备份和热备份的实践(原创)

热门文章

  1. ios 各个手机型号尺寸及分辨率适配
  2. [大数据学习研究] 4. Zookeeper-分布式服务的协同管理神器
  3. [Advanced Python] 10 - Transfer parameters
  4. [DE] Pipeline for Data Engineering
  5. XStream实现javabean和xml、json转化
  6. github博客Hexo引流到微信
  7. 开源流媒体Red5-编译和部署
  8. Centos修改yum源为国内阿里源
  9. windows环境下搭建python虚拟环境及离线移植
  10. Hadoop核心组件之YARN