/*
* LinkedList链表
* LinkList也是集合中需要掌握的五个类之一
* LinkedList常用的方法:
* add(object):添加元素的方法
* remove(index):删除元素的方法
* size():获取元素的个数
* get(index):获取元素
* addFirst(object):把对象加在链表的最前面,ArrayList没有这个方法
* getFirst():从链表的表头开始去(栈的入口处),ArrayList没有这个方法
* remove方法还有removeAll()/removeFirst()/removeFirst()
*/
//使用集合必须加载util包
import java.util.*;
public class Demo5 {
public static void main(String[] args){
//定义LinkedList对象
LinkedList ll=new LinkedList();
//定义Clerk队形
Clerk clerk=new Clerk("1","sevend",1009);
Clerk clerk2=new Clerk("2","kenvon",1009);
//把clerk对象加在链表的最前面,同理哈有addLast(object)方法
ll.addFirst(clerk);
ll.addFirst(clerk2);//栈的方式,会加在clerk之前
//遍历的方法
System.out.println("sevend先添加,kenvon后添加,遍历结果:");
for(int i=0;i<ll.size();i++){
System.out.println(((Clerk)ll.get(i)).getClerkName());//getFirst()也是LinkedList特有的方法
}
}
}
/*
* Vector(向量)类
* 方法及使用和前面的大同小异,仿照前面的就可以了
* HashTable
* 基本和hashmap的用法一致
* hashmap和hashtable的区别
* 都是java的集合类
* hashtable是基于陈旧的dictionary类的,hashmap是在java1.2后引进的Map接口的一个实现
* 同步性:hashtable是同步的,线程同步,这个类中的对象保证了线程是安全的,hashmap是异步的,是线程不安全的,如果
* 不要求线程的安全性,应该优先选择hashmap
* 什么是同步:
* 几个线程操作同一张表的时候就会出现同步问题,hashtable会拒绝同时访问加锁,按照队列的顺序来一个一个处理访问,这样的机制是安全的,但是会损失一定的效率,hashmap则没有这个机制
* hashmap允许将一个空值作为条目的key或者value,但是hashtable则不允许,二者的选择从同步性上考虑
* arraylist和vector
* 同步性:ArrayList是异步的,是不安全的,vector是同步的,是安全的,不涉及同步的话,用arraylist,同步的话肯定要用vector
* 数据增长:他们都是使用数组来控制集合中的对象的,但是这个数组是动态的,当向其中增加元素的时候,如果元素的数目超出了内部数组的长度,他们则都需要扩大内部数组的长度,vector在缺省
* 的情况下是增长原来的一倍,而arraylist是按照原来的50%来增长的,如果数据量大的时候,就应该选择vector类型
* 集合的几个类的总结:
* 如果要求线程安全,使用vector或者hashtable
* 如果不要求线程安全,使用arraylist linkedlist和hashmap
* 如果要求键值是,使用hashmap和hashtable
* 如果存放的数据量大,并且还要考虑线程安全,则使用vector
*/
import java.util.*;
public class Demo6 {
public static void main(String[] args){
//定义vector对象
Vector vector=new Vector();
//定义clerk对象
Clerk clerk=new Clerk("1","sevend",1009);
Clerk clerk2=new Clerk("2","kenvon",1009);
//添加对象元素
vector.add(clerk2);
vector.add(clerk);
//元素的遍历
for(int i=0;i<vector.size();i++){
System.out.println(((Clerk)vector.get(i)).getClerkName());
}
}
}
分享到:
相关推荐
LinkedList HashMap HashSet TreeMap TreeSet StringBulider 线程安全集合: Vector HashTable Properties 集合线程安全与解决方案 ArrayList线程安全问题 package ...
List、ArrayList、Vector及map、HashTable、HashMap分别的区别 List、ArrayList、Vector及map、HashTable、HashMap是Java容器类中的几个重要的接口和实现类,了解它们之间的区别是非常重要的。 首先,我们来看List...
HashTable的特点 TreeMap ArrayList的特点 Vector的特点 LinkedList的特点 Set ConcurrentModificationException异常 线程安全的集合 线程安全的 List CopyOnWriteArrayList 线程安全的Set 线程安全的Map ...
java集合在日常开发中经常用到,对基础的掌握尤其重要,其中List,Set,Map的作用以及使用的场景和分类描述,其中Arraylist 与 LinkedList 区别,HashSet与TreeSet与LinkedHashSet对⽐,LinkedHashMap和HashMap,...
List 中包括 ArrayList、LinkedList、Vector 等,Set 中包括 HashSet、LinkedHashSet 等,Map 中包括 HashMap、Hashtable 等。 List、Set、Map 是否继承自 Collection 接口 List 和 Set 继承自 Collection 接口,...
Collection List LinkedList ArrayList Vector Stack Set HashSet Map HashMap Dictionary Hashtable Comparetor 2. Vector和ArrayList、LinkedList区别? Hashtable 和 HashMap之间的区别 LinkedList内部以链表...
3)了解List接口及主要实现类(ArrayList、LinkedList、Vector) 4)了解Map接口及主要实现类(HashMap、TreeMap、HashTable) 二、实验内容及步骤 1、编写程序练习将以下5个Person类的对象放在一个HashSet中。 姓名...
Java集合详解4:HashMap和HashTable Java集合详解5:深入理解LinkedHashMap和LRU缓存 Java集合详解6:TreeMap和红黑树 Java集合详解7:HashSet,TreeSet与LinkedHashSet Java集合详解8:Java集合类细节精讲 JavaWeb
【Java工程师面试复习指南】本仓库架构大部分Java工程师所需要掌握的核心知识,整合了互联网上的很多优质Java技术文章,力求打造为最完整最实用的...Java集合详解:HashMap和HashTable Java集合详解:深入理解LinkedHas
如果是对其它指定位置的插⼊、删除操作,最好选择 LinkedList HashMap、HashTable 的区别及其优缺点: HashTable 中的⽅法是同步的 HashMap 的⽅法在缺省情况下是⾮同步的 因此在多线程环境下需要做额外的同步机制。...
Vector,ArrayList, LinkedList的区别是什么? 答: 1. Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形 式进行存储。 2. List中的元素有序、允许有重复的元素,Set中的元素无序、不允许...
Map 接口的实现类有 HashMap、Hashtable、LinkedHashMap、Properties 和 TreeMap 等集合类。 Java 中的集合类型提供了多种方式来存储和操作数据,开发者可以根据需要选择合适的集合类型来实现自己的应用程序。
本次实验掌握了集合的概念、体系结构、分类及使用场景,了解了Set接口及主要实现类(HashSet、TreeSet),了解了解List接口及主要实现类(ArrayList、LinkedList、Vector),掌握ArrayList的使用及其与Vector的区别,...
1. java.util.*包的UML结构图。 2. Vector和ArrayList、LinkedList区别? Hashtable 和 HashMap之间的区别 3. String、StringBuffer,StringBuilder之间区别。
在Java的集合框架中,HashSet,HashMap是用的比较多的一种,顺序结构的ArrayList、LinkedList这种也比较多,而像那几个线程同步的容器用的比较少,像Vector和HashTable,因为这两个线程同步的容器已经不被JDK推荐...
14、JAVA集合框架之list接口、LinkedList类、ArrayList类、Vector类 15、JAVA集合框架之Set接口、HashSet类、TreeSet类 16、JAVA集合框架之Map接口、HashMap类、Trelap类、Hashtable类 17、JAVA异常Exception 18...
- HashMap - LinkedHashMap - TreeMap - WeakHashMap - Hashtable - Collection 集合体系详解 - Set 接口 - AbstractSet 抽象类 - SortedSet 接口 - HashSet - LinkedHashSet - TreeSet - List 接口 -...
List 的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 是线程不安全的,Vector 是线程安全的,LinkedList 是线程不安全的,底层是由链表实现的。 Set 是一种无序的集合,元素不能重复,不关心元素的顺序。...
总结了集合中常用的一点点,希望可以共享 List:LinkedList,ArrayList,Vector(Stack),Set Map:Hashtable,HashMap,WeakHashMap
21. HashMap 和 Hashtable 有什么区别? 22. 如何决定使用 HashMap 还是 TreeMap? 23. 说一下 HashMap 的实现原理? 24. 说一下 HashSet 的实现原理? 25. ArrayList 和 LinkedList 的区别是什么? 26. 如何实现...