集合家族——Vector】的更多相关文章

一.vector简介 Vector 可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.不过,Vector 的大小是可以增加或者减小的,以便适应创建 Vector 后进行添加或者删除操作. Vector 实现 List 接口,继承 AbstractList 类,所以我们可以将其看做队列,支持相关的添加.删除.修改.遍历等功能. Vector 实现 RandmoAccess 接口,即提供了随机访问功能,提供提供快速访问功能.在 Vector 我们可以直接访问元素. Vect…
集合家族 数组:存储相同类型的多个元素 对象:存储不同类型的多个元素 集合:存储多个不同类型的对象 List List继承自Collection接口,是有序可重复的集合. 它的实现类有:ArrayList.LinkedList.Vector.Stack ArrayList 本质上是一个能存储任意类型的对象的动态数组,元素的删除和添加涉及到数组的扩容以及拷贝元素,所以效率很慢.由于数组是可以通过下标来查找的,因此查找速度快. LinkedList 基于双向链表实现,增删快,查找慢.根据链表的性质,…
学完ArrayList和LinkedList之后,我们接着学习Vector.第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45)第4部分 Vector遍历方式第5部分 Vector示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308833.html 第1部分 Vector介绍 Vector简介 Vector 是矢量队列,它是JDK1.0版本添加的类.继承于AbstractList…
Vector向量: vector类似动态数组,向量和数组类似,但是数组容量一旦确定不可更改,而向量的容量可变.向量只可以保存任何类型对象且容量不限制,数组对元素类型无限制但是容量有限. 适用场合:向量适用频繁增删元素且元素数组不确定情况.元素都是对象. 数组适合对象数目确定.基础数据类型的元素. 构造方法: public Vector(); public Vector(int initialCapacity);指定初始容量,超过容量系统自动增加一倍 public Vector(int initi…
package com.test4; import java.util.*; /** * JAVA集合ArrayList,Vector,HashMap,HashTable等使用 */ public class test4 { public static void main(String[] args) { //ArrayList异步,线程不安全,性能高 Vector同步,线程安全,性能低 //定义个ArrayList对象 ArrayList arrayList = new ArrayList()…
集合体系 一.数据结构 List集合储存数据结构 <1>堆栈结构 特点:先进后出 <2>队列结构 特点:先进先出 <3>数组结构 特点:查询快,增删慢 <4>链表结构 特点:增删快,查询慢 二.List接口 Java.util.List 接口(集合)extends Collection 接口 List接口的特点: 允许存储重复元素 是一个有序集合(存储元素的顺序和取出元素的顺序一致)存123 取出123 有索引,包含一些带索引的特有方法(有三种遍历方式:迭代…
Vector是矢量队列,它继承了AbstractList,实现了List. RandomAccess, Cloneable, java.io.Serializable接口. Vector接口依赖图: Vector继承了AbstractList,实现了List,它是一个队列,因此实现了相应的添加.删除.修改.遍历等功能. Vector实现了RandomAccess接口,因此可以随机访问. Vector实现了Cloneable,重载了clone()方法,因此可以进行克隆. Vector实现了Seri…
1.对象数组的概述和使用 * A:案例演示 * 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. * Student[] arr = new Student[5]; //存储学生对象 arr[0] = new Student("张三", 23); arr[1] = new Student("李四", 24); arr[2] = new Student("王五", 25); arr[3] = new St…
转载请注明源出处:http://www.cnblogs.com/lighten/p/7296023.html 1.前言 本章介绍Java集合List中的Vector和其子类Stack.Vector类是Java 1.0就提供的一个集合类,其实现和上章讲解的ArrayList几乎一样,在下面会简单介绍一下(不然就没有可说的了),其子类Stack是一个程序员都比较熟悉的栈结构,特点就是先入后出,Stack其实也较为简单,会简单描述一下. 2.Vector 在前言中也谈到了Vector与ArrayLis…
一.概述 List继承了Collection,是有序的列表. 可重复数据 实现类有ArrayList.LinkedList.Vector.Stack等 ArrayList是基于数组实现的,是一个数组队列.可以动态的增加容量! LinkedList是基于链表实现的,是一个双向循环列表.可以被当做堆栈使用! Vector是基于数组实现的,是一个矢量队列,是线程安全的! Stack是基于数组实现的,是栈,它继承与Vector,特性是FILO(先进后出) 二.情景使用 1. 当集合中对插入元素数据的速度…
3.Vector 3.1 UML图 3.2 Vector的特点 Object的数组存储元素 默认初始大小为10 public Vector() { this(10); } 线程安全,可以看到所有的数据操作方法都有锁synchronize 新增了capacityIncrement,每次新增的容量增加参数:默认是0,可以自己指定 其他的操作和ArrayList特别相近 4.总结 常用的List集合,ArrayList,LinkedList,Vector 1.ArrayList 和Vector 两个内…
Vector: 底层也是维护了一个Object数组,实现与ArrayList是一样的, 但其线程是安全的,效率低.除了比较老的系统,是不会用到的. 笔试题:ArrayList 和 Vector 的区别. 相同点:都是底层维护了一个Object数组.(看源码) 不同点:ArrayList 是线程不同步地,操作效率高.(1.2)后来代替了Vector Vector 线程同步的,操作效率低.(1.0)…
1. Vector的简介 JDK1.7.0_79版本 Vector 类可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作.Vector 是同步的,可用于多线程. public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, j…
集合 集合介绍: 由于数组中存放对象,对对象操作起来不方便.java中有一类容器,专门用来存储对象. 集合与数组的区别: 1.数组的长度固定的,而集合长度时可变的 2.数组只能储存同一类型的元素,而且能存基本数据类型和引用数据类型.集合可以存储不同类型的元素,只能存储引用数据类型 Collection接口描述: java.util.Collection 接口是集合中的顶层接口 Collection接口常用的子接口有List 接口和Set接口 List接口中常用的子类有:ArrayList类(数组…
概述 Vector与ArrayLIst类似, 内部同样维护一个数组, Vector是线程安全的. 方法与ArrayList大体一致, 只是加上 synchronized 关键字, 保证线程安全, 下面就不具体分析源码了, 具体可以查看ArrayList中的源码分析. Vector源码分析 1.主要字段 2.构造函数 3.增删改查 其他方法大部分类似, 不再赘述, 下面看下扩容机制的函数: Vector与ArrayList的区别 Vector是线程安全的, ArrayList不是线程安全的, 这是…
在java提高篇(二一)—–ArrayList.java提高篇(二二)—LinkedList,详细讲解了ArrayList.linkedList的原理和实现过程,对于List接口这里还介绍一个它的实现类Vector,Vector 类可以实现可增长的对象数组. 一.Vector简介 Vector可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.不过,Vector的大小是可以增加或者减小的,以便适应创建Vector后进行添加或者删除操作. Vector实现List接口,继承…
一.概述 在 Java 中 Stack 类表示后进先出(LIFO)的对象堆栈.栈是一种非常常见的数据结构,它采用典型的先进后出的操作方式完成的 它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈.它提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法.测试堆栈是否为空的 empty 方法.在堆栈中查找项并确 定到堆栈顶距离的 search 方法. 因为它继承自Vector,那么它的实现原理是以数组实现堆栈的.  二.继承关系 java.lang.Object…
一.概述: ArrayList 是实现 List 接口的动态数组,所谓动态就是它的大小是可变的.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小. 二.源码分析: 底层是Object类型数组,增删很慢,查询很快.不支持存贮基本数据类型 2.1底层使用数组 private transient Object[] elementData; transient为 Java 关键字,为变量修饰符,如果用 tran…
1 package cn.itcast.p1.vector.demo; 2 3 import java.util.Enumeration; 4 import java.util.Iterator; 5 import java.util.Vector; 6 7 public class VectorDemo { 8 9 public static void main(String[] args) { 10 // TODO Auto-generated method stub 11 Vector v…
一.概述: LinkedList 与 ArrayList 一样实现 List 接口,只是 ArrayList 是 List 接口的大小可变数组的实现,LinkedList 是 List 接口链表的实现.基于链表实现的方式使得 LinkedList 在插入和删除时更优于 ArrayList,而随机访问则比 ArrayList 逊色些. 二.源码分析: 2.1 定义方法: public class LinkedList<E> extends AbstractSequentialList<E&…
Vector<E>简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长. Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境. Vector没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实现了RandomAccess接口,支持快速随机访问. Vector<E>源码 如下(已加入详细注释): /*…
概要 学完ArrayList和LinkedList之后,我们接着学习Vector.学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它.第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45)第4部分 Vector遍历方式第5部分 Vector示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308833.html 第1部分 Vector介…
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和…
原作者滴着:http://www.cnblogs.com/eflylab/archive/2007/01/20/625237.html Java提供了数种持有对象的方式,包括语言内置的Array,还有就是utilities中提供的容器类(container classes),又称群集类(collection classes).集合在java中非常重要,在讨论之前,先来看几个面试中的经典问题. 1 Collection 和 Collections的区别. 2 List, Set, Map是否继承自…
1. Vector的特有功能: (1)添加功能         public void addElement(Object obj)       -- add() (2)获取功能         public Object elementAt(int index)         -- get()         public Enumeration elements()               -- Iterator iterator()                         …
转载请注明出处:http://blog.csdn.net/ns_code/article/details/35793865   Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长. Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境. Vector没有丝线Serializable接口,因此它不支持序列化,实现了Cloneable接口,能被克隆,实…
List接口 List集合代表一个有序集合,集合中每一个元素都有其对应的顺序索引.List集合容许使用重复元素,可以通过索引来访问指定位置的集合对象. ArrayList和Vector实现类 ArrayList和Vector做为List的类的两个典型实现,完全支持list集合的全部功能. ArrayList和Vector类都是基于数组实现的List类,所以ArrayList和Vector类封装了一个动态再分配的Object[]数组.每个ArrayList或Vector对象有一个capacity属…
// ClassCastException 报错,注意,千万要搞清楚类型 * Vector的特有功能: * 1:添加功能 * public void addElement(Object obj) -- 被add()替代 * 2:获取功能 * public Object elementAt(int index) -- 被 get()替代 * public Enumeration elements() -- 被Iterator iterator()替代 * boolean hasMoreElemen…
Vector简介 Vector 是矢量队列,它是JDK1.0版本添加的类.继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口. Vector 继承了AbstractList,实现了List:所以,它是一个队列,支持相关的添加.删除.修改.遍历等功能. Vector 实现了RandmoAccess接口,即提供了随机访问功能.RandmoAccess是java中用来被List实现,为List提供快速访问功能的.在Vector中,我们即可以通过元素…