Collection集合学习(二)———List接口与具体实现
二.List接口:
一个可以包含重复元素的Collection,List中的元素不会自动排序,元素顺序由添加时的顺序决定。
具体实现类包括Vector(线程安全的),ArrayList,LinkedList
基于数组的Vector,ArrayList查询操作较快,而基于双向链表的LinkedList 添加,删除操作较快
1.ArrayList:
我们可以将其看作是能够自动增长容量的数组,可以利用 ArrayList 的 toArray()返 回一个数组,而迭代器(Iterator) 给我们提供了一种通用的方式来访问集合中的元素。在 Java 中,标准数组是定长的,在数组创建之后,它们不能被加长或缩短,这也就意味着你必须事先知道数组可以容纳多少元素。但是,你直到运行时才能知道需要多大的数组,为了解决这个问题,类集框架定义了 ArrayList。本质上,ArrayList 是对象引用的一个变长数组,也就是说,ArrayList 能够动态地增加或减小其大小。数组列表以一个原始大小被创建,当超过了它的大小,类集自动增大,当对象被删除后,数组就可以缩小。
ArrayList 有如下的构造函数
–ArrayList( ) 建立一个空的数组列表
–ArrayList(Collection c) 建立一个数组列表,该数组列表由类集 c 中的元素初始化
–ArrayList(int capacity) 建立一个数组列表,该数组有指定的初始容量(capacity)
当使用 ArrayList 时,有时想要获得一个实际的数组,这个数组包含了列表的内容,可以通过调用方法 toArray()来实现它。下面是几个为什么可能想将类集转换成为数组的原因, a.对于特定的操作,可以获得更快的处理时间,b.为了给方法传递数组,而方法不必重载去接收类集。Arrays.asList(),返回一个受指定数组支持的固定大小的列表。此方法同 Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的API 之间的桥梁。
2.LinkedList:
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.
LinkedList的构造函数如下
–public LinkedList(): ——生成空的链表
–public LinkedList(Collection col): 复制构造函数
3.Vector(线程安全):
Vector 有三个构造函数
public Vector(int initialCapacity,int capacityIncrement) Vector 运行时创建一个初始的存储容量initialCapacity,存储容量是以capacityIncrement 变量定义的增量增长
public Vector(int initialCapacity) 只创建初始存储容量
public Vector() 既不指定初始的存储容量也不指定capacityIncrement。
常用方法:
addElement(Object obj) 把组件加到向量尾部,同时大小加1,向量容量比以前大1
insertElementAt(Object obj, int index) 把组件加到所定索引处,此后的内容向后移动1 个单位
setElementAt(Object obj, int index) 把组件加到所定索引处,此处的内容被代替
removeElement(Object obj) 把向量中含有本组件内容移走
removeAllElements() 把向量中所有组件移走,向量大小为0
Collection集合学习(二)———List接口与具体实现的更多相关文章
- ------------------java collection 集合学习 ----小白学习笔记,,有错,请指出谢谢
<!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { p ...
- java 集合框架(二)Iterable接口
Iterable接口是java 集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素,我们可以看下它的成员方法 修饰符和返回值 方法名 描述 Iterator<T> iter ...
- Collection集合学习(一)———Set接口与具体实现
接口Collection: Collection是Java的一个集合框架, 也是一个根接口.JDK中没有提供此接口的任何实现,但是提供了更具体的子接口Set和List接口的实现,所有的Collecti ...
- Java中的集合(二)单列集合顶层接口------Collection接口
Java中的集合(二)单列集合顶层接口------Collection接口 Collection是一个高度封装的集合接口,继承自Iterable接口,它提供了所有集合要实现的默认方法.由于Iterab ...
- java学习笔记——Collection集合接口
NO 方法名称 描述 1 public boolean add(E e) 向集合中保存数据 2 public void clear() 清空集合 3 public boolean contains(O ...
- JavaSE中Collection集合框架学习笔记(1)——具有索引的List
前言:因为最近要重新找工作,Collection(集合)是面试中出现频率非常高的基础考察点,所以好好恶补了一番. 复习过程中深感之前的学习不系统,而且不能再像刚毕业那样死背面试题,例如:String是 ...
- 2019/3/4 java集合学习(二)
java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以 ...
- JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue
前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...
- JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序
前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...
随机推荐
- PostgreSQL资料汇总
慢慢积累一些有用的资料: https://postgrespro.ru
- PostgreSQL日志号LSN和wal日志文件简记
弄明白日志号的原理之后,一段时间又有点忘记了,干脆整理一遍: (一)wal文件命名规则 1)在$PGDATA目录下面的pg_xlog目录中存放着xlog日志文件(10.1之后变为了pg_wal): t ...
- JS中获取数据库中的值
在本次项目中,遇到很多问题,经过努力,都逐步得到解决.静下心来,做一个记录,以供以后学习. 在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来 ...
- d3.js(v5.7)的比例尺以及坐标轴
直接上代码了,这里的一些函数用的是之前我自己封装的函数(包括attr的obj支持和节点数量和数据数量的自动匹配),若有不明白的,可以查看之前的博客: 页面的效果如下: 接下来继续添加坐标轴: 最终:
- java未来发展方向!新手入门了解
随社会信息的发展着,java广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网等行业.从目前的招聘量上看,对java开发人才需求量是很大的,而且未来的仍然是主流,就业前景很好.只要 ...
- Android学习笔记之Android Studio添加新的Activity
1.创建Android项目工程:AndroidTest 创建过程可参考网上诸多教程. 2.添加新的Activity,步骤如下 a. 在layout文件夹上右键,New-Activity-相应Activ ...
- 如何创建一个基于命令行工具的跨平台的 NuGet 工具包
命令行可是跨进程通信的一种非常方便的手段呢,只需启动一个进程传入一些参数即可完成一些很复杂的任务.NuGet 为我们提供了一种自动导入 .props 和 .targets 的方法,同时还是一个 .NE ...
- 将 UWP 的有效像素(Effective Pixels)引入 WPF
在很久很久以前,WPF 诞生之初,有一个神奇的单位,它的名字叫做——设备无关单位(DIP,Device Independent Unit).微软给它描绘了一片美好的愿景——在任何显示器上显示的尺寸是相 ...
- 《DSP using MATLAB》示例Example7.3
由图上可以看出,与幅度谱对应的相位谱是分段线性函数,而与振幅谱对应的相位谱是真正线性函数. 幅度谱和振幅谱的区别也很明显.
- 接口测试基础——第7篇 简单的Python知识普及(二)之装饰器
今天我们来学习python里面的“装饰器” 1.我在函数test运行前想先打印一些内容怎么办? def func(param): print u"打印的内容" para ...