集合--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 ...
随机推荐
- hbase过滤器(1)
最近在公司做hbase就打算复习下它的过滤器以便不时之需,RowFilter根据行键(rowkey)筛选数据 public void filter() throws IOException { Fil ...
- 冒泡排序算法[C++]
冒泡排序应该是最容易实现的一种排序算法了.其基本思想是:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将小 ...
- UVA11722 Jonining with Friend
Joining with Friend You are going from Dhaka to Chittagong by train and you came to know one of your ...
- mac下更改MySQL的默认编码
mysql默认的编码是latin1,它不支持中文,所以我们一般需要修改他的默认编码格式. 打开终端1. 进入root权限sudo -i 2. cp /usr/local/mysql/support-f ...
- Puppet基础应用
Puppet简介 IT基础设施自动化管理工具,作者:Luck Kanies,官方站点:www.puppetlabs.com 管理设施的整个生命周期: provisioning.configuratio ...
- 一些CSS知识点备忘
RGBA指的是“红色.绿色.蓝色和Alpha透明度”(Red-Green-Blue-Alpha). HSLA代表“色调.饱和度.亮度和Alpha透明度”(Hue-Saturation-Lightnes ...
- mysql 导入txt数据
在导入数据的时候,特别是数据包含中文的时候,在导入的时候,容易出现编码规则引起的错误.例如错误提示:Invalid utf8 character string: '' 这种情况下,我们可以把需要导入的 ...
- 通过java打开jar 文件
JAR文件是许多信息经过封装后形成的捆绑体.也就是一个压缩文件. JAR 文件格式提供了许多优势和功能,其中很多是传统的压缩格式如ZIP或者RAR所没有提供的,JAR文件 还用于安排和封装库.组件和插 ...
- CesiumLab地形处理成果在Tomcat和IIS上发布
地形瓦片(散列文件)可以直接放到tomcat或iis下发布,而不用进行额外的开发,从而满足普通用户的需求.下面我们来介绍下如何通过cesiumlab生成的瓦片发布并在前端展示. 1.数据准备: 首先通 ...
- redis jedis存储对象简单操作,map list 自定义对象
安装好redis,进行了基本的操作.包括对map list 和自定义对象的基本操作.笔记都在代码注释里,直接上代码. private Jedis jedis; @Before public void ...