Java从零开始学二十(集合简介)
2015-02-25 12:37
176 查看
一、为什么需要集合框架
数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象、或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题二、集合框架主要接口
No | 接口 | 描述 |
1 | Collection | 是存放一组单值的最大接口,所谓的单值是指集合中的每个元素都是一个对象。一般很少会直接使用此接口直接操作。 |
2 | List | 是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩充,里面的内容是允许重复的。 |
3 | Set | 是Collection接口的子类,没有对Collection接口进行扩充,里面不允许存放重复内容。 |
4 | Map | Map是存放一对值的最大接口,即,接口中的每个元素都是一对,以key-value的形式保存。 |
5 | Iterator | 集合的输出接口,用于输出集合中的内容,只能进行从前到后的单向输出。 |
6 | ListIterator | 是Iterator的子接口,可以进行双向输出。 |
7 | Enumeration | 是最早的输出接口,用于输出指定集合中的内容。 |
8 | SortedSet | 单值的排序接口,实现此接口的集合类,里面的内容是可以排序的,使用比较器排序。 |
9 | SortedMap | 存放一对值的排序接口,实现此接口的集合类,里面的内容按照key排序,使用比较器排序。 |
10 | Queue | 队列接口,此接口的子类可以实现队列操作。 |
11 | Map.Entry | Map.Entry的内部接口,每个Map.Entry对象都保存着一对key-value的内容,每个Map接口中都保存多个Map.Entry接口实例。 |
三、接口的继承关系
在一般的开发中,往往很少去直接使用Collection接口进行开发,而基本上都是使用其子接口。子接口主要有:List、Set、Queue、SortedSet。
四、Collection子接口的定义
Collection接口虽然是集合的最大接口,但是如果直接使用Collection接口进行操作的话,则表示的操作意义不明确,所以在JAVA开发中已经不提倡直接使用Collection接口了,主要的子接口如下:List接口:可以存放重复的内容。
Set接口:不能存放重复的内容,所有的重复内容是靠hashCode()和equals()两个方法区分的。
Queue:队列接口。
SortedSet接口:可以对集合中的数据进行排序。
五、Collection接口的方法定义
No. | 方法 | 类型 | 描述 |
1 | public boolean add(E o) | 普通 | 向集合中插入对象 |
2 | public boolean addAll(Collection<? extends E> c) | 普通 | 将一个集合的内容插入进来 |
3 | public void clear() | 普通 | 清除此集合中的所有元素 |
4 | public boolean contains(Object o) | 普通 | 判断某一个对象是否在集合中存在 |
5 | public boolean containsAll(Collection<?> c) | 普通 | 判断一组对象是否在集合中存在 |
6 | public boolean equals(Object o) | 普通 | 对象比较 |
7 | public int hashCode() | 普通 | 哈希码 |
8 | public boolean isEmpty() | 普通 | 集合是否为空 |
9 | public Iterator<E> iterator() | 普通 | 为Iterator接口实例化 |
10 | public boolean remove(Object o) | 普通 | 删除指定对象 |
11 | public boolean removeAll(Collection<?> c) | 普通 | 删除一组对象 |
12 | public boolean retainAll(Collection<?> c) | 普通 | 保存指定内容 |
13 | public int size() | 普通 | 求出集合的大小 |
14 | public Object[] toArray() | 普通 | 将一个集合变为对象数组 |
15 | public <T> T[] toArray(T[] a) | 普通 | 指定好返回的对象数组类型 |
六、区别
Connection:接口存储值不唯一,无序的对象List:接口存储值不唯一,有序(插入顺序)的对象
Set:[b]接口存储值唯一,无序的对象[/b]
Map:[b][b]接口存储值一组键值对象,提供键(Key)到值(Value)的映射[/b][/b]
相关文章推荐
- Java中集合类 简介
- Java中集合类 简介
- Java从零开始学二十二(集合Set接口)
- 黑马程序员——Java中的集合的简介
- java提高篇(二十)-----集合大家族
- java中的几种集合简介
- java.util.concurrent包中线程安全的集合简介
- Java从零开始学零(Java简介)
- JAVA中的集合框架简介
- java集合中的Iterable接口的简介与运用
- 从零开始学Java 第1章 Java语言简介
- java 从零开始,学习笔记之基础入门<网络编程_带QQ模拟功能>(二十)
- java 从零开始,学习笔记之基础入门<集合>(十六)
- Java从零开始学二十一(集合List接口)
- java提高篇(二十)-----集合大家族
- Java集合简介
- java 从零开始,学习笔记之基础入门<集合>(十六)
- java提高篇(二十)-----集合大家族
- Java从零开始学二十四(集合工具类Collections)
- Java集合简介