集合--List&&ArrayList-LinkedList
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的更多相关文章
- List集合与Set集合(ArrayList,LinkedList,Vector,HashSet,LinkedHashSet,可变参数)
List集合介绍及常用方法 import java.util.ArrayList; import java.util.Iterator; import java.util.List; /* java. ...
- 集合框架 ArrayList LinkedList(待续)
ArrayList中存储的元素的内存空间是连续的, LinkedList内存空间不是连续的 集合对象不能被序列化到硬盘中 http://blog.csdn.net/eson_15/article/de ...
- jdk集合常用方法分析之ArrayList&LinkedList&以及两者的对比分析
集合使用注意事项: 1.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中去(JDK5之后会进行自动的装箱和拆箱操作,表面上看集合中是可以直接放置原生 ...
- Java集合之ArrayList和LinkedList的实现原理以及Iterator详解
ArrayList实现可变数组的原理: 当元素超出数组内容,会产生一个新数组,将原来数组的数据复制到新数组中,再将新的元素添加到新数组中. ArrayList:是按照原数组的50%来延长,构造一个初始 ...
- 集合框架-ArrayList,Vector,Linkedlist
// ClassCastException 报错,注意,千万要搞清楚类型 * Vector的特有功能: * 1:添加功能 * public void addElement(Object obj) -- ...
- Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识
集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识 List(接口) 特点:有序(存储与取出顺序相同),可重复 List子类特点: ArrayList: ...
- Java——集合框架之ArrayList,LinkedList,迭代器Iterator
概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...
- Java集合--ArrayList,LinkedList性能分析
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308900.html 第1部分 List概括 先回顾一下List的框架图 (01) List 是一个接口 ...
- java 集合之ArrayList、Vector、LinkedList、CopyOnWriteArrayList
ArrayList 线程不安全. 底层Object[]数组实现,用transient关键字修饰,防止序列化,然后重写了readObject和writeObject方法,为了提高传输效率. 插入时会判断 ...
- Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
随机推荐
- tensorflow使用CPU可以跑(运行),但是使用GPU却不能用的情况
在跑的时候可以让加些选项: with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement= ...
- 嘴巴题1 LA2531 足球联赛
LA2531 足球联赛 题目: 有n只队伍打比赛,给出每只队目前获胜和失败的场数,再给出两两队伍接下来的比赛场次,问你哪些队伍可能的冠军 (题面摘自http://blog.csdn.net/s_h_r ...
- 前端插件--swipe.js
swipe.js的作用: 这是一个轻量级的移动滑动组件,支持触摸移动,支持响应式页面. 效果图: 代码: <!DOCTYPE html> <html lang="en&qu ...
- php+js实现百度地图多点标注的方法
本文实例讲述了php+js实现百度地图多点标注的方法.分享给大家供大家参考,具体如下: 1.php创建json数据 ? 1 2 $products = $this->product_db-> ...
- opencv java swing 图片灰度化 二值化
工程下载地址 https://download.csdn.net/download/qq_16596909/11503860 基于maven 首先引入opencv <!-- https://mv ...
- IO流9 --- 使用FileInputStream和FileOutputStream读写非文本文件 --- 技术搬运工(尚硅谷)
字节流读写非文本文件(图片.视频等) @Test public void test5(){ File srcFile = new File("FLAMING MOUNTAIN.JPG&quo ...
- hdoj 1325 Is It A Tree? 【并查集】
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/shengweisong/article/details/34099151 做了一上午,最终ac了 w ...
- react仿豆瓣
最近公司在做一个自己内部的图片上传系统,目的是帮助设计人员方便上传图片,用的是vue技术,但是说到vue,可能要提到更早出来的react,react是facebook搞的一套语法糖,也是革命性的用组件 ...
- 大数据概念(4V)
- vue-li+webpack+iview构建项目步骤
首先安装各类插件 npm install vue-cli -g vue init webpack demo npm install iview --save npm install less styl ...