java基础31 List集合下的Vector集合

news/2024/8/26 15:25:52 标签: java, 数据结构与算法

单例集合体系:

---------| 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

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

转载于:https://www.cnblogs.com/dshore123/p/9052290.html


http://www.niftyadmin.cn/n/1052507.html

相关文章

【JZOJ3301】家族

description 阿狸和桃子养了n 个小阿狸, 小阿狸们每天都在一起玩的很开心. 作为工程师的阿狸在对小阿狸们之间的关系进行研究以后发现了小阿狸的人际关系由某种神奇的相互作用决定, 阿狸称之为“键”. 每个键有一个频率, 称为键频率, 是一个整数(单位Hz)。 由于小阿狸们每天成集…

Linux下面修改字符集

http://blog.csdn.net/cyuyan112233/article/details/6539122

每天一点点之vue框架学习 - uni-app 修改上一页参数

方法一&#xff1a;使用微信提供的 getCurrentPages() 来实现 // 更新上一级的数据 getPrevData(){var pages getCurrentPages();var currPage pages[pages.length - 1]; //当前页面var prevPage pages[pages.length - 2]; //上一个页面prevPage.$vm.aaaaaaaa//h5prevPage…

位运算(二进制位编号顺序)

1. 位与字节 计算机系统的内存储器是由许多称为字节的单元组成的&#xff0c;一个字节由8个二进制位&#xff08;bit&#xff09;构成&#xff0c;一个位的取值为0或1。最右端的那一位是"最低位"&#xff0c;编号为0&#xff1b;最左端的那一位称为"最高位&…

后端进度报告(2018.5.17)

后端进度报告 &#xff08;截止2018.5.17&#xff09; 记录人&#xff1a;曾子轩 一、相关知识学习 1. 框架知识&#xff08;SpringSpringMVCMyBatis&#xff09;&#xff1a;两个多月时间&#xff0c;在一步步探索当中了解大致模样。 2. 前后端交互相关&#xff08;JSPServlet…

小程序封装API

一般我们https请求都是通过wx.request来请求,但是这种请求如果多了&#xff0c;页面会混乱不说&#xff0c;还不好管理&#xff0c;因此我将请求单独拎出去&#xff0c;方便管理&#xff0c;也方便后期维护。// api.js const API_BASE_URL http://xxx; const request (url, d…

华为网络设备上常用的安全技术

华为网络设备上常用的安全技术&#xff1a; 概述&#xff1a; ACL AM MAC ARP AAA Dot1x文章目录&#xff1a; 安全技术1&#xff1a;ACL&#xff08;访问控制列表&#xff09; 安全技术2&#xff1a;AM&#xff08;访问管理配置&#x…

一句话判断网络是否连接《转》

uses WinInet;procedure TForm1.Button1Click(Sender: TObject); beginif InternetGetConnectedState(nil, 0) then ShowMessage(已连接); end;转载于:https://www.cnblogs.com/LceMeaning/archive/2013/01/09/2853461.html