鸟儿飞的专栏

生在红旗下,长在春风里~~~为实现中国四个现代化努力工作~~

用户操作
[即时聊天] [发私信] [加为好友]
鸟儿飞ID:birdme007
50654次访问,排名2251,好友4人,关注者22人。
郑州工业大学
birdme007的文章
原创 38 篇
翻译 0 篇
转载 75 篇
评论 65 篇
鸟儿飞的公告
fanghl007@163.com
最近评论
救援隊募集:アダルトエロ不倫
cqg1220:sdh光端机-发电机出租
エッチ度測定:セックスセフレアダルト
在宅バイト:セックス童貞風俗
モテ度診断:セックス童貞熟女
文章分类
收藏
    相册
    JAVA站点
    Gmail邮箱申请
    JavaEye
    JavaScript教程
    Java世界社区
    Matrix 与JAVA共舞
    中国Eclipse社区
    中国IT实验室
    中文JAVA技术网
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Java util之常用数据类型特性盘点收藏

    新一篇: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition  | 旧一篇: 在Struts应用中施展Ajax魔法

    在做应用性能优化时,常发现因为数据类型使用不当导致的性能、资源浪费问题,甚至老手也常发生此类失误,因此想盘点一下,搞一个类似叫做"quick page"的东东。

    欢迎修订增补。

    Java util之常用数据类型特性盘点

    java.util就相当于c++的STL,是Java的一个非常重要的包,有很多常用的数据类型,不同数据类型有不同的用途,而有些数据类似乎很相似,怎样选择应用,就需要对它们进行辨析。
    下面列出了这些数据类型的特点,根据这些特点,就可以有针对性的选用
     
    * 蓝色为接口,绿色为具体实现类
    * 缩进的层次结构,就是implement或extend的层次关系
    * 每个接口或类都具备其所有上层接口、类的特性
     
    Collection
    ........|--------List
    ........|..........|----------ArrayList
    ........|..........|----------Vector
    ........|..........|.............|-----Stack
    ........|..........|----------LinkedList
    ........|--------Set
    ...................|----------HashSet.
    ...................|.............|-----LinkedHashSet
    ...................|----------SortedSet
    .................................|-----TreeSet
     
    Iterator
    .....|-------ListIterator
     
    Map
    .....|------Hashtable
    .....|..........|------Properties
    .....|------HashMap
    .....|..........|------LinkedHashMap
    .....|------WeakHashMap
    .....|------SortedMap
    ................|------TreeMap

     
    Collection.
    ●..实现该接口及其子接口的所有类都可应用clone()方法,并是序列化类.

    .....List.
    .....●..可随机访问包含的元素
    .....●..元素是有序的
    .....●..可在任意位置增、删元素
    .....●..不管访问多少次,元素位置不变
    .....●..允许重复元素
    .....●..用Iterator实现单向遍历,也可用ListIterator实现双向遍历

    ..........ArrayList
    ..........●..用数组作为根本的数据结构来实现List
    ..........●..元素顺序存储
    ..........●..新增元素改变List大小时,内部会新建一个数组,在将添加元素前将所有数据拷贝到新数组中
    ..........●..随机访问很快,删除非头尾元素慢,新增元素慢而且费资源
    ..........●..较适用于无频繁增删的情况
    ..........●..比数组效率低,如果不是需要可变数组,可考虑使用数组
    ..........●..非线程安全
    .
    ..........Vector.
    ..........●..另一种ArrayList,具备ArrayList的特性
    ..........●..所有方法都是线程安全的(双刃剑,和ArrayList的主要区别)
    ..........●..比ArrayList效率低

    ...............Stack
    ...............●..LIFO的数据结构

    ..........LinkedList.
    ..........●..链接对象数据结构(类似链表)
    ..........●..随机访问很慢,增删操作很快,不耗费多余资源
    ..........●..非线程安全

    .....Set.
    .....●..不允许重复元素,可以有一个空元素
    .....●..不可随机访问包含的元素
    .....●..只能用Iterator实现单向遍历

    ..........HashSet
    ..........●..用HashMap作为根本数据结构来实现Set
    ..........●..元素是无序的
    ..........●..迭代访问元素的顺序和加入的顺序不同
    ..........●..多次迭代访问,元素的顺序可能不同
    ..........●..非线程安全

    ...............LinkedHashSet
    ...............●..基于HashMap和链表的Set实现
    ...............●..迭代访问元素的顺序和加入的顺序相同
    ...............●..多次迭代访问,元素的顺序不便
    ...............●..因此可说这是一种有序的数据结构
    ...............●..性能比HashSet差
    ...............●..非线程安全

    ..........SortedSet
    ..........●..加入SortedSet的所有元素必须实现Comparable接口
    ..........●..元素是有序的

    ...............TreeSet.
    ...............●..基于TreeMap实现的SortedSet
    ...............●..排序后按升序排列元素
    ...............●..非线程安全

    -----------------------------------
     
    Iterator..
    ●..对Set、List进行单向遍历的迭代器

    ..........ListIterator.
    ..........●..对List进行双向遍历的迭代器

    -----------------------------------

    Map
    ●..键值对,键和值一一对应
    ●..不允许重复的键.

    .....Hashtable.
    .....●..用作键的对象必须实现了hashcode()、equals()方法,也就是说只有Object及其子类可用作键
    .....●..键、值都不能是空对象
    .....●..多次访问,映射元素的顺序相同
    .....●..线程安全的

    ..........Properties
    ..........●..键和值都是字符串

    .....HashMap
    .....●..键和值都可以是空对象
    .....●..不保证映射的顺序
    .....●..多次访问,映射元素的顺序可能不同
    .....●..非线程安全

    ...............LinkedHashMap
    ...............●..多次访问,映射元素的顺序是相同的
    ...............●..性能比HashMap差

    .....WeakHashMap..
    .....●..当某个键不再正常使用时,垃圾收集器会移除它,即便有映射关系存在
    .....●..非线程安全

    .....SortedMap.
    .....●..键按升序排列
    .....●..所有键都必须实现.Comparable.接口.

    ...............TreeMap.
    ...............●..基于红黑树的SortedMap实现
    ...............●..非线程安全

     

    发表于 @ 2007年06月29日 12:39:00|评论(loading...)|编辑

    新一篇: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition  | 旧一篇: 在Struts应用中施展Ajax魔法

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 鸟儿飞