java集合浅析

参照互联网 - 博客园 - http://www.blogjava.net/EvanLiu/archive/2007/11/12/159884.html。

Question:

1.Q:大致讲解java集合的体系结构
   A:List、Set、Map是这个集合体系中最主要的三个接口。 其中List和Set继承自Collection接口。
      Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。
      List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。
      Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、         TreeMap和Hashtable是三个主要的实现类。  SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。
2.Q:ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?
   A:Vector和HashTable是线程同步的(synchronized)。性能上,ArrayList和HashMap分别比Vector和Hashtable要好。

3. (1)Vector 基于Arrayn,是“sychronized”的.

ArrayList基于Array,ArrayList是非同步的。所以在性能上要比Vector优越一些.

            LinkedList不基于Array,

            所以:基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作

    (2)List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别

    (3)HashSet的存储方式是把HashMap中的Key作为Set的对应存储项

           LinkedHashSet,TreeSet是通过SortedMap来实现的

           HashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,

                因此, 如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)

时间: 2024-10-26 19:31:56

java集合浅析的相关文章

006 Java集合浅析1

在本系列教程的上一篇文章中,使用画图的方式展示了JDK中集合框架的基础体系结构.对于其中的Collection组来说,其顶级的接口是Iterable接口,估计熟悉设计模式的读者已经明白,此处该接口的引入就是为了实现迭代器模式. 关于什么是设计模式或者具体到什么是迭代器模式,本文不会展开,不了解的朋友,建议另找资料补充.关于设计模式的学习,我觉得必须给大家推荐一本书,名为<HeadFirst 设计模式>,该书以幽默风趣的方式,非常详细和深入地讲解了23种设计模式中的常见设计模式,同时,该书中的实

007 Java集合浅析2

在本系列的上一篇教程中,我们已经分析过了Collection组的两个顶级接口Iterable和Collection,接下来我们来分析一下Collection接口的子类型. 首先,我们看一下List接口,该接口映射的是数据结构中非常基础和常用的列表类型.参看源码,发现该接口在Collection接口的基础上增加了一些列表都有的方法,部分源码如下: public interface List<E> extends Collection<E> { E get(int index); E

牛刀小试 - 浅析Java集合框架的使用

基本概述 Java中的集合框架与数组类似,都是用于存储多个同一类型数据的容器. 但是对于数组的使用,会因为数组本身的特性会导致一些使用限制,例如: 数组要求在构造时,就必须确定数组的长度.所以如果想要存放的数据个数不确定,数组就无法使用. 于是促使了集合框架的诞生,与数组相比,集合框架最大特点在于: 集合框架下的容器类只能存放对象类型数据:而数组支持对基本类型数据的存放. 任何集合框架下的容器类,其长度都是可变的.所以不必担心其长度的指定问题. 集合框架下的不同容器了底层采用了不同的数据结构实现

深入java集合学习1-集合框架浅析

前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框架API是用来表示和操作集合的统一框架,它包含接口,实现类以及一些编程辅助算法.具体位于java.util包下. java集合框架UML图 从上面的UML图中可以看出,集合框架可以简单的分为四部分 Collection接口以及实现类 Map接口及其实现类 Iterator接口及实现类 辅助工具类  

JAVA基础——集合浅析

Java  集合 什么时候数组会显得力不从心,没法满足需求,需要集合类呢? 不知道具体数据长度 需要自动排序 存储键值对 当然,上面的情况不是绝对的,只是数组比较难满足.这时集合类(也可称为容器类)就显示了它强大的功能. 集合类的分类(图片转自http://biancheng.dnbcw.info/1000wen/359774.html) 上图中不包含Queue内容,部分Map的实现类未给出. 常见使用的有List.Set.Map及他们的实现类. List.Set.Map接口及各实现类的特性 接

深入浅析Java集合及LIst接口

一.集合的概念1.概述: 在学习集合前,先回忆一下数组的一个特征---数组有固定的长度,定义一个数组:int[] array = new int[];而针对数据长度可变的情况,产生了集合,java集合就是为了应对动态增长数据,在编译时无法知道具体的数据量而产生的.集合类又叫容器类. 2.集合和数组的区别 都是容器,数组时固定的长度,集合时可变的:数组存放的数据都是基本数据类型(四类八种)集合存放的数据都是引用数据类型(String.Integer.自定义数据类型)集合中对于基本数据类型会转换位引

Java学习入门-05 -集合浅析

集合数据结构体系框架 Collection接口是List/Set/Queue接口的父接口,其中定义的常用的操作方法有(注意此处笔记不完整,演示代码没有导包): 添加功能?i. boolean add(object obj)添加一个元素?ii. boolean addAll(Collection c)将集合c的全部元素添加到原集合元素后返回true?iii. 添加功能永远返回true 删除功能?i. void clear();移除所有元素?ii. boolean remove(Object o)移

深入Java集合学习系列:HashMap的实现原理

参考文献 引用文献:深入Java集合学习系列:HashMap的实现原理,大部分参考这篇博客,只对其中进行稍微修改 自己曾经写过的:Hashmap实现原理 1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的).此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 2. HashMap的数据结构: 在ja

Java—集合框架List

集合的概念 现实生活中:很多的事物凑在一起 数学中的集合:具有共同属性的事物的总和 Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象 集合的作用 在类的内部,对数据进行组织(针对作用与意义一样的属性,将他们放到一个集合中) 简单而快速的搜索大数量的条目 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速的插入或删除有关元素 有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型 与数组相比 数组的长度