您的位置:首页 > 编程语言 > Java开发

JavaSE基础学习笔记-集合框架1

2013-11-15 00:35 381 查看
Java中的容器有哪几种,各有什么特点?

java中的容器有两种,一种是数组,一种的集合。

特点:数组是固定长度的,而且只能存储指定类型的元素,既可以存储基本数据类型,也可以存储引用数据类型。

集合是可变长度的,集合只能存储引用数据类型,而且可以是多种不同类型元素。(JKD1.5以后提供了自动装箱,所以集合已经可以间接存储基本数据类型)

Collection接口为什么会有很多子类?

因为每一个子类都对应着不同的特性和数据存储结构,在开发过程中可以根据具体的情况来选择最合适的集合来实现相应功能。

迭代器:Iterator

迭代器是集合中向外界提供的一种变量手法,Iterator接口是Collection的一个子接口,也就是被放置在了Colleciton接口的内部,之所以这么做是因为Colleciton有很多的子类实现,而这些子类内部的数据结构是不同的,这样就不足以用一个类来描述具体的行为,所以把接口定义在了内部,让子类去定义一个内部类实现该接口,并根据具体的数据结构实现Iterator中的方法,并想外界提供一个返回Iterator的方法。

List和Set的区别

虽然List和Set都是Collection的一个子类,但是两种有很大不同:

List是一个有序集合,即List当中的元素顺序和添加时的顺序相同,List允许添加相同元素,List集合中的元素有索引(因为底层用数组实现)

List

|--ArrayList 数组列表,是顺序存储的,查询很快,但添加和删除比较慢

|--LinkedList 链表: 是链式存储的,查找比较慢,添加和删除比较快

|--Vector 最早版本的数组列表,和ArrayList基本相同,但是Vector是同步的,而且支持枚举类型

ListIterator:

ListIterator是Iterator的增强版,针对List集合的特点,ListIterator在Itartor的基础上增加的更加丰富的可以在遍历过程中对属性元素进行操作的方法。(该方法仅限于List结合)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: