Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识
集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识
List(接口)
特点:有序(存储与取出顺序相同),可重复
List子类特点:
ArrayList:底层结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector:底层结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList:底层结构是链表,查询慢,增删快。
线程不安全,效率高。
List特有功能
添加功能
void add(int index, E element):在指定位置添加元素
获取功能
E get(int index):返回列表中指定位置的元素。
列表迭代器功能
ListIterator<E> listIterator(int index):List特有的迭代器
删除功能
E remove(int index):移除列表中指定位置的元素,并把删除的元素返回
修改功能
E set(int index,E element):用指定元素替换列表中指定位置的元素.
List集合的特有遍历功能:
通过size()方法确定边界,在根据get()方法得到对应位置的元素
ListIterator接口
List特有的迭代器
该迭代器继承Iterator迭代器,所以,可直接用hhasNext()和next()方法
特有功能
hasPrevious
boolean hasPrevious():如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。
previous
E previous():返回列表中的前一个元素。
注意:只有当迭代器先正向遍历后才能逆向遍历,所以意义不大。
ArrayList (类)
特点:底层数据类型是数组,查询快,增删慢,线程不安全,效率高。
Vector (类)
特点:底层结构是数组,查询快,增删慢。线程安全,效率低。
特有功能
添加功能
- addElement
public void addElement(E obj):将指定的组件添加到此向量的末尾,将其大小增加 1。如果向量
的大小比容量大,则增大其容量。 被add()替代
获取功能
- elementAt
public E elementAt(int index):返回指定索引处的组件。 被get()替代
- elements
public Enumeration<E> elements():返回此向量的组件的枚举。 被iterator()替代
Enumeration(接口 )
早期的集合迭代工具,jdk1.2后被Iterator替代
方法摘要
- hasMoreElements
boolean hasMoreElements():测试此枚举是否包含更多的元素。 被hasNext()替代
- nextElement
E nextElement():如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。 被next()替代
LinkedList (类)
特点:底层结构是链表,查询慢,增删快。 线程不安全,效率高。
特有功能
添加功能
- addFirst
public void addFirst(E e):将指定元素插入此列表的开头。
- addLast
public void addLast(E e):将指定元素添加到此列表的结尾。
获取功能
- getFirst
public E getFirst():返回此列表的第一个元素。
- getLast
public E getLast():返回此列表的最后一个元素。
删除功能
- removeFirst
public E removeFirst():移除并返回此列表的第一个元素。
- removeLast
public E removeLast():移除并返回此列表的最后一个元素。
Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识的更多相关文章
- Javase之集合体系(4)之Map集合
集合体系之Map集合 ##Map<K,V>( 接口 ) 特点:将键映射到值对象,一个映射不能包含重复的键:每个键只能映射一个值 Map集合与Collection集合的区别 Map集合存 ...
- Javase之集合体系(3)之Set及其子类知识
集合体系之Set及其子类知识 Set(接口) public interface Set<E>extends Collection<E> 特点:无序(存储顺序与取出顺序不一致 ...
- Javase之集合体系之(1)集合顶层类Collection与其迭代器知识
集合体系之集合顶层类Collection与其迭代器知识 集合的由来:Java是一门面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,就必须把多个对象进行存储,而要存 ...
- javaSE中级篇3——集合体系(另外一种存储容器)——更新完毕
集合还是一种工具,所以它们的包都在java.util包下 1.集合的整个体系结构(是需要掌握的体系,完全体系不是这样) 对图中所说的 序和重复 这两词的说明: 序:指的是添加进去的元素和取出来的元素 ...
- 浅谈Java的集合体系
集合体系框架图 集合接口 Java集合类库将接口(interface)与实现(implementation)分离,如上图,Set是一个集合接口,而HashSet与TreeSet都是实现了Set接口的子 ...
- JAVA提高九:集合体系
在经过了前面的JDK6.0新特性的学习后,将进一步深入学习JDK,因为集合的重要性,因此从集合开始入手分析: 一.集合概况 Java是一种面向对象语言,如果我们要针对多个对象进行操作,那么首先必要将多 ...
- Java集合中List,Set以及Map等集合体系详解
转载请注明出处:Java集合中List,Set以及Map等集合体系详解(史上最全) 概述: List , Set, Map都是接口,前两个继承至collection接口,Map为独立接口 Set下有H ...
- Java集合体系总结
一.集合框架 集合是容纳数据的容器,java常用的集合体系图如下.以集合中是否运行重复元素来分,主要有List和Set接口,List集合中可以有重复元素,Set集合集合中的元素不可重复,Iterato ...
- 大数据之路week02 Collection 集合体系收尾(Set)
1.Set集合(理解) (1)Set集合的特点 无序,唯一. (2)HashSet集合(掌握) A: 底层数据结构是哈希表(是一个元素为链表的数组) B: 哈希表底层依赖两个方法: hashCode( ...
随机推荐
- 使用过Redis,我竟然还不知道Rdb
目录 使用过Redis,那就先说说使用过那些场景吧 Rdb文件是什么,它是干什么的 分析工具 小结 联想 推荐阅读 使用过Redis,那就先说说使用过那些场景吧 字符串缓存 //举例 $redis-& ...
- Idea2019激活码
此教程仅用作个人学习,请勿用于商业获利,造成后果自负!!! 此教程已支持最新2019.2版本 此教程实时更新,请放心使用:如果有新版本出现猪哥都会第一时间尝试激活: idea官网下载地址:http:/ ...
- 一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的
前言 笔者毕业于东北大学,大学毕业社招进入环球网,前端开发工程师一职.技术栈:React+node,Github 地址 成果 来到杭州的目标非常的明确,大厂.其实就是网易.阿里和滴滴.好在基本三家都拿 ...
- [Spring cloud 一步步实现广告系统] 13. 索引服务编码实现
上一节我们分析了广告索引的维护有2种,全量索引加载和增量索引维护.因为广告检索是广告系统中最为重要的环节,大家一定要认真理解我们索引设计的思路,接下来我们来编码实现索引维护功能. 我们来定义一个接口, ...
- [WPF 自定义控件]使用WindowChrome自定义RibbonWindow
1. 为什么要自定义RibbonWindow 自定义Window有可能是设计或功能上的要求,可以是非必要的,而自定义RibbonWindow则不一样: 如果程序使用了自定义样式的Window,为了统一 ...
- BeautifulSoup的重要操作
BeautifulSoup相关概念总结:https://www.cnblogs.com/pythonywy/p/11134481.html css基础以及选择器基础:https://www.cnblo ...
- Java中的“浅复制”与“深复制”
复制 将一个对象的引用复制给另一个对象,一共有三种方式.第一种方式是直接赋值,第二种方式是浅复制,第三种方式是深复制. 1.直接赋值 在Java中,A a1 = a2,这实际上复制的是引用,也就是说 ...
- JS简单数据类型
JS数据类型 在计算机中,不同的数据所需要占用的空间是不同的,为了便于把数据分析称所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型 简单数据类型 简单数据类型 说明 默认值 Numb ...
- GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造
go build 和 go install 都需要使用源码来进行编译.但是有时候我们只有.a或者.so文件.并不能获取到第三方库的源码,这时我们需要静态链接库编译的技巧: 上图是实验前的文件分布. 使 ...
- Linux 打开端口方法
关闭防火墙:service iptables stop 开启防火墙:service iptables start 防火墙状态:service iptables status 永久关闭:chkconfi ...