java基础31 List集合下的Vector集合
单例集合体系:
---------| collection 单例集合的根接口
--------------| List 如果实现了list接口的集合类,具备的特点:有序,可重复 注:集合中的有序不是指自然顺序,而是指添加进去的顺序与出来的顺序是一致的
------------------| ArrayList ArrayList底层维护了一个object数组的实现的。(线程不安全),特点:查询速度快,增删速度慢。(有序,可重复)
------------------| LinkedList LinkedList底层是使用链表结构实现的,线程不安全,特点:查询速度慢,增删速度快。(有序,可重复)
------------------| Vector(了解即可) 底层也是维护一个Object数组的实现的,实现与ArrayList是一样的,但是Vector是线程安全的,操作效率低
--------------| Set 如果实现了set接口的集合类,具备的特点:无序,不可重复 注:集合中的无序不是指自然顺序,而是指添加元素进去的顺序与元素出来的顺序是不一致的
------------------| HashSet 底层是用于一个哈希表支持的。线程不安全,特点:存储速度块
------------------| TreeSet 底层是使用红黑树(二叉树)数据结构实现的,线程不同步(即线程不安全),不能在多线程中共享,但可以使用synchroinzedMap()方法来实现同步。特点:会对元素进行排序存储(按自然顺序)
双例集合体系:
----------| Map 双例集合的根接口。如果是实现了Map接口的集合类,具备的特点:存储的数据都是以键值对形式存在的,键不可重复,值可以重复
--------------| HashMap 底层是基于哈希表实现的,HashMap允许键和值为null,线程不安全,特点:存储速度块
--------------| TreeMap 基于红黑数(二叉树)数据结构实现的,线程不同步(即线程不安全),特点:会对元素经行排序存储
--------------| HashTable(了解即可) 线程安全
1、Vector 集合
笔试题:ArrayList与Vector的区别 相同点:ArrayList与Vector底层都是使用Object数组实现的. 不同点: 1.ArrayList是线程不同步的,操作效率高;Vector是线程同步的,操作效率低 2.ArrayList是jdk1.2出现的,Vector是jdk1.0出现的
2、实例
1 package com.dhb.collection; 2 3 import java.util.Enumeration; 4 import java.util.Vector; 5 6 /** 7 * @author DSHORE / 2018-5-17 8 * 9 */ 10 // addElement(E obj):将指定的组件添加到此向量的末尾,将其大小增加1。 11 12 public class Demo10 { 13 public static void main(String[] args) { 14 Vector<String> v=new Vector<String>(); 15 //添加集合 16 v.addElement("张三"); 17 v.addElement("李四"); 18 v.addElement("王武"); 19 //迭代集合 20 Enumeration<String> e=v.elements();//获取迭代器 21 while(e.hasMoreElements()){ 22 System.out.println(e.nextElement()); 23 /*运行结果: 24 * 张三 25 * 李四 26 * 王武 27 * */ 28 } 29 } 30 }
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:http://www.cnblogs.com/dshore123/p/9052290.html 欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |