`
缠小溪
  • 浏览: 24254 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

集合之LinkedList、Vector、HashMap、Hashtable

 
阅读更多
/*
 * 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());
		}
	}
}


分享到:
评论

相关推荐

    Java集合多线程安全.docx

    LinkedList HashMap HashSet TreeMap TreeSet StringBulider 线程安全集合: Vector HashTable Properties 集合线程安全与解决方案 ArrayList线程安全问题 package ...

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别

    List、ArrayList、Vector及map、HashTable、HashMap分别的区别 List、ArrayList、Vector及map、HashTable、HashMap是Java容器类中的几个重要的接口和实现类,了解它们之间的区别是非常重要的。 首先,我们来看List...

    Java集合教程吐血整理干货.md

    HashTable的特点 TreeMap ArrayList的特点 Vector的特点 LinkedList的特点 Set ConcurrentModificationException异常 线程安全的集合 线程安全的 List CopyOnWriteArrayList 线程安全的Set 线程安全的Map ...

    Java集合框架完整说明便于了解集合

    java集合在日常开发中经常用到,对基础的掌握尤其重要,其中List,Set,Map的作用以及使用的场景和分类描述,其中Arraylist 与 LinkedList 区别,HashSet与TreeSet与LinkedHashSet对⽐,LinkedHashMap和HashMap,...

    java集合类面试题总结

    List 中包括 ArrayList、LinkedList、Vector 等,Set 中包括 HashSet、LinkedHashSet 等,Map 中包括 HashMap、Hashtable 等。 List、Set、Map 是否继承自 Collection 接口 List 和 Set 继承自 Collection 接口,...

    JavaSE 笔试 精华

    Collection List LinkedList ArrayList Vector Stack Set HashSet Map HashMap Dictionary Hashtable Comparetor 2. Vector和ArrayList、LinkedList区别? Hashtable 和 HashMap之间的区别 LinkedList内部以链表...

    实验05 Java集合.doc

    3)了解List接口及主要实现类(ArrayList、LinkedList、Vector) 4)了解Map接口及主要实现类(HashMap、TreeMap、HashTable) 二、实验内容及步骤 1、编写程序练习将以下5个Person类的对象放在一个HashSet中。 姓名...

    【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识

    Java集合详解4:HashMap和HashTable Java集合详解5:深入理解LinkedHashMap和LRU缓存 Java集合详解6:TreeMap和红黑树 Java集合详解7:HashSet,TreeSet与LinkedHashSet Java集合详解8:Java集合类细节精讲 JavaWeb

    Java工程师面试复习指南

    【Java工程师面试复习指南】本仓库架构大部分Java工程师所需要掌握的核心知识,整合了互联网上的很多优质Java技术文章,力求打造为最完整最实用的...Java集合详解:HashMap和HashTable Java集合详解:深入理解LinkedHas

    大数据面试题.pdf

    如果是对其它指定位置的插⼊、删除操作,最好选择 LinkedList HashMap、HashTable 的区别及其优缺点: HashTable 中的⽅法是同步的 HashMap 的⽅法在缺省情况下是⾮同步的 因此在多线程环境下需要做额外的同步机制。...

    阿里P7面试题包含解答

    Vector,ArrayList, LinkedList的区别是什么? 答: 1. Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形 式进行存储。 2. List中的元素有序、允许有重复的元素,Set中的元素无序、不允许...

    JAVA中常用的集合类型

    Map 接口的实现类有 HashMap、Hashtable、LinkedHashMap、Properties 和 TreeMap 等集合类。 Java 中的集合类型提供了多种方式来存储和操作数据,开发者可以根据需要选择合适的集合类型来实现自己的应用程序。

    实验七:Java集合与泛型

    本次实验掌握了集合的概念、体系结构、分类及使用场景,了解了Set接口及主要实现类(HashSet、TreeSet),了解了解List接口及主要实现类(ArrayList、LinkedList、Vector),掌握ArrayList的使用及其与Vector的区别,...

    Java面试中,最常被人问到的几个问题

    1. java.util.*包的UML结构图。 2. Vector和ArrayList、LinkedList区别? Hashtable 和 HashMap之间的区别 3. String、StringBuffer,StringBuilder之间区别。

    Java中的HashMap浅析

    在Java的集合框架中,HashSet,HashMap是用的比较多的一种,顺序结构的ArrayList、LinkedList这种也比较多,而像那几个线程同步的容器用的比较少,像Vector和HashTable,因为这两个线程同步的容器已经不被JDK推荐...

    JAVA SE 开发手册.CHM

    14、JAVA集合框架之list接口、LinkedList类、ArrayList类、Vector类 15、JAVA集合框架之Set接口、HashSet类、TreeSet类 16、JAVA集合框架之Map接口、HashMap类、Trelap类、Hashtable类 17、JAVA异常Exception 18...

    超全Java集合框架讲解.md

    - HashMap - LinkedHashMap - TreeMap - WeakHashMap - Hashtable - Collection 集合体系详解 - Set 接口 - AbstractSet 抽象类 - SortedSet 接口 - HashSet - LinkedHashSet - TreeSet - List 接口 -...

    Collection,List,Set和_Map用法和区别

    List 的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 是线程不安全的,Vector 是线程安全的,LinkedList 是线程不安全的,底层是由链表实现的。 Set 是一种无序的集合,元素不能重复,不关心元素的顺序。...

    各种集合的总结

    总结了集合中常用的一点点,希望可以共享 List:LinkedList,ArrayList,Vector(Stack),Set Map:Hashtable,HashMap,WeakHashMap

    Java 最常见的 208 道面试题:第二模块答案

    21. HashMap 和 Hashtable 有什么区别? 22. 如何决定使用 HashMap 还是 TreeMap? 23. 说一下 HashMap 的实现原理? 24. 说一下 HashSet 的实现原理? 25. ArrayList 和 LinkedList 的区别是什么? 26. 如何实现...

Global site tag (gtag.js) - Google Analytics