您的位置:首页 > 移动开发 > Android开发

Android学习第九天----java复习集合

2013-03-15 01:02 274 查看
集合

在使用java的过程,会遇到各种各样的集合,所有的集合都实现了Collection接口
list 中有 vector、ArrayList、LinkedList 。 set中HashSet,LinkedHashSet,SortedSet,TreeSet

Vector:基于Array的list,其实就是封装了Array所不具备的一些功能方便使用。Vector是同步(Synchronized)是线程安全的,arraylist的方法不是
ArrayList:基于Array的链表,它不是同步的,在性能上臂Vector优越,
LinkedList:不是基于Array的,每一个节点都包含两方便的内容:
1.节点本身的数据,下一个节点的信息。
当对linkedList做添加,删除数据的时候要做大的改动。

list总结:
1.所有的List中只能容纳单个不同类型的对象组成的表,不是Key-value
2.所有的List中可以有相同的元素,
3.所有的LIst中可以有null元素
4.基于Array的List适合查询,linkedList适合添加删除操作。

HashSet:Set和List都实现了Collection接口,但是实现方式是不一样的,List基本都是以Array为基础。Set是在HashMap的基础上实现的。HashSet的存储方式是以键值对的方式

Set总结:
1.Set实现的基础是Map
2.Set中的元素师不能重复的,因为它是以键值对的形式存在。

为什么要使用集合?在不知道要存放数据的个数,需要一种比数组更好的存取方式,就需要用到集合
集合中存放的都是对象的引用,而非对象本身,对集合中的对象指的就是集合中对象的引用(reference)
集合类型主要有3种:Set(集),List(列表),Map(映射)
Set:是最简单的一种集合,对象不安特定方式排列,只是简单的把对象加入集合中,对集中成员的访问和操作是通过集中对象的引用进行的。所以集中不能有重复的对象。
List:列表的主要特种是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,
Map:映射与集或列表有明显区别,映射中每个项都是成对的。映射中存储的每个对象都有一个相关的关键字对象,关键字决定了对象在映射中的存储位置,检索对象时必须提供相应的关键字,就像在字典中查单词一样,关键字应该是唯一的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: