首页 > 其他 > 详细

框架集合总结

时间:2014-03-08 09:34:54      阅读:501      评论:0      收藏:0      [点我收藏+]
集合类的由来:
对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定。就使用集合容器进行存储。

集合特点:
1,用于存储对象的容器。

2,集合的长度是可变的。

3,集合中不可以存储基本数据类型值。


集合容器因为内部的数据结构不同,有多种具体容器。不断的向上抽取,就形成了集合框架。


Collection接口:

List:有序(存入和取出的顺序一致),元素都有索引(角标),元素可以重复。

ArrayList:内部是数组数据结构,是不同步的。替代了Vector。查询的速度快。

LinkedList:内部是链表数据结构,是不同步的。增删元素的速度很快。

Set:元素不能重复,无序。

HashSet: 内部数据结构是哈希表 ,是不同步的。

TreeSet:可以对Set集合中的元素进行排序。是不同步的。



Map接口:
 

HashMap:部结构是哈希表,不是同步的。允许null作为键,null作为值。

TreeMap : 内部结构是二叉树,不是同步的。可以对Map集合中的键进行排序。 


collection与map的区别:

1、Map一次添加一对元素。Collection 一次添加一个元素。

2、Map也称为双列集合,Collection集合称为单列集合。


如何记录每一个容器的结构和所属体系呢?

那就是看名字,如下:
List
ArrayList

LinkedList


Set
HashSet

TreeSet

后缀名就是该集合所属的体系。
前缀名就是该集合的数据结构。

怎么判断什么时候用哪种集合呢?

首先要判断是否需要唯一:

需要:Set,不需要:List

如果要用Set,再判断是否需要制定顺序: 
需要: TreeSet

不需要:HashSet

但是想要一个和存储一致的顺序(有序):LinkedHashSet

如果用List再判断是否需要频繁增删

需要:LinkedList

不需要:ArrayList

看到array:就要想到数组,就要想到查询快,有角标.

看到link:就要想到链表,就要想到增删快,就要想要 add get remove+frist last的方法 

看到hash:要想到哈希表,就要想到唯一性,就要想到元素需要覆盖hashcode方法和equals方法。 

看到tree:就要想到二叉树,就要想要排序,就要想到两个接口Comparable,Comparator 。


而且通常这些常用的集合容器都是不同步的。


框架集合总结,布布扣,bubuko.com

框架集合总结

原文:http://blog.csdn.net/zhong1113/article/details/20740429

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!