1.8新特性  List接口中的replaceAll()方法,替换指定的元素,函数式接口编程

List  元素是有序的并且可以重复

四种add();方法

ArrayList(用于查询操作),底层是数组

LinkedList(用于删除和添加操作),底层是链表,数据结构

区别:性能差别,分布上差别

1.ArrayList

创建ArrayList对象

List list = new ArrayList();

添加对象到list集合中

list.add("first");
list.add("second");

指定位置的插入对应元素

list.add(0, "three");

添加一个集合到集合中

list.addAll(Arrays.asList("four", "five"));

指定位置把集合添加到list集合对象中

list.addAll(0, Arrays.asList("six", "seven"));

添加重复的元素

list.add("four");

通过简单for循环遍历集合

for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}

通过增强for循环

for (Object object : list) {
System.out.println(object);
}

迭代器

Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object object = iterator.next();
System.out.println(object);
}

2.LinkedLis,方法跟ArraysList没多大区别

3.队列

特点:先入先出

创建一个队列

Queue queue=new LinkedList();
queue.offer("DDD");
queue.offer("BBB");
queue.offer("CCC");
System.out.println(queue);

出列

System.out.println(queue.poll());

获取列的首个元素,不会把元素从队列中移除

System.out.println(queue.peek());

移除首个元素

System.out.println(queue.remove());

使用LinkedList模拟队列

LinkedList qLinkedList=new LinkedList();
qLinkedList.addLast("dddddd");
qLinkedList.addLast("aaaaaa");
qLinkedList.addLast("cccccc");
System.out.println(qLinkedList);

获取列元素,不会把元素从队列中移除

System.out.println(qLinkedList.getFirst());

出列

System.out.println(qLinkedList.removeFirst());

4.栈

特点:先入后出.线程安全的

压栈

Stack stack=new Stack();
stack.push("AAAA");
stack.push("BBBB");
stack.push("FFFF");
System.out.println(stack);

弹栈

System.out.println(stack.pop());

获取栈顶元素

System.out.println(stack.peek());

模拟栈

LinkedList linkedList=new LinkedList();
linkedList.addLast("aaa");
linkedList.addLast("bbb");
linkedList.addLast("ccc");
System.out.println(linkedList);

弹栈

System.out.println(linkedList.removeLast());

集合--List&&ArrayList-LinkedList的更多相关文章

  1. List集合与Set集合(ArrayList,LinkedList,Vector,HashSet,LinkedHashSet,可变参数)

    List集合介绍及常用方法 import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* java. ...

  2. 集合框架 ArrayList LinkedList(待续)

    ArrayList中存储的元素的内存空间是连续的, LinkedList内存空间不是连续的 集合对象不能被序列化到硬盘中 http://blog.csdn.net/eson_15/article/de ...

  3. jdk集合常用方法分析之ArrayList&LinkedList&以及两者的对比分析

    集合使用注意事项: 1.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中去(JDK5之后会进行自动的装箱和拆箱操作,表面上看集合中是可以直接放置原生 ...

  4. Java集合之ArrayList和LinkedList的实现原理以及Iterator详解

    ArrayList实现可变数组的原理: 当元素超出数组内容,会产生一个新数组,将原来数组的数据复制到新数组中,再将新的元素添加到新数组中. ArrayList:是按照原数组的50%来延长,构造一个初始 ...

  5. 集合框架-ArrayList,Vector,Linkedlist

    // ClassCastException 报错,注意,千万要搞清楚类型 * Vector的特有功能: * 1:添加功能 * public void addElement(Object obj) -- ...

  6. Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识

    集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识 List(接口) 特点:有序(存储与取出顺序相同),可重复 List子类特点: ​ ArrayList: ...

  7. Java——集合框架之ArrayList,LinkedList,迭代器Iterator

    概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...

  8. Java集合--ArrayList,LinkedList性能分析

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308900.html 第1部分 List概括 先回顾一下List的框架图 (01) List 是一个接口 ...

  9. java 集合之ArrayList、Vector、LinkedList、CopyOnWriteArrayList

    ArrayList 线程不安全. 底层Object[]数组实现,用transient关键字修饰,防止序列化,然后重写了readObject和writeObject方法,为了提高传输效率. 插入时会判断 ...

  10. Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

随机推荐

  1. mysql数据库引擎(转载)

    数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另 ...

  2. gulp入门之常见处理方式(三)

    整合 streams 来处理错误 默认情况下,在 stream 中发生一个错误的话,它会被直接抛出,除非已经有一个时间监听器监听着 error时间. 这在处理一个比较长的管道操作的时候会显得比较棘手. ...

  3. Java程序员面试题收集(4)

    Java面试题和答案JAVA相关基础知识1.面向对象的特征有哪些方面      1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题 ...

  4. DAO设计模式总结

    1.DAO(Data Access Object,数据访问对象),主要的功能是用于进行数据操作的,在程序的标准开发框架中属于数据层的操作. 数据开发结构流程: 资源层是数据库的操作层,里面可以进行各种 ...

  5. springboot拦截器之验证登录

    添加jar包,这个jar包不是必须的,只是在拦截器里用到了,如果不用的话,完全可以不引入 <dependency> <groupId>org.apache.commons< ...

  6. git学习记录——基础概念和文件的基本操作

    夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...

  7. linux 调整系统时区

    查看当前时间: date 查看当天详细时区 timedatectl 调整为正确时区 timedatectl set-timezone 'Asia/Shanghai'

  8. python twisted 的定时调用带参的函数

    无参情况:lc = task.LoopingCall(fun)如果fun带有参数,可以使用functools.partial传递 (fun2 = partial(fun, param1,[...]) ...

  9. springmvc 使用了登录拦截器之后静态资源还是会被拦截的处理办法

    解决办法 在拦截器的配置里加上静态资源的处理 参考https://www.jb51.net/article/103704.htm

  10. 导入pymysql模块出错:No module named 'pymysql'

    前提: 使用的版本为:Python 3.6.4 pymysql已经被成功安装了,并通过命令行的方式验证已成功安装. 但在pycharm中运行工程时候时候报错:No module named 'pymy ...