【Java类集】_认识类集、Collection接口笔记
3、具体内容
类集作用
类集实际上就是一个动态的对象数组,与一般的对象数组不同,类集的对象内容可以任意扩充。
类集的特征:
1.这种框架是高性能的
2.框架必须允许不同类型的类集以相同的方式和高度互操作方式工作
3.类集必须是容易扩展和修改的
对象数组中包含一组对象,但对象数组使用的时候存在一个长度限制,那么类集是专门解决这种限制的,使用类集可以方便的向数组增加任意多个数据。
对象数组的操作中基本上都要保证对象类型的一致性,对于类集而言本身其内部的元素也应该保持一致,不管是何种类型的数据,所有的操作方式都应该是一样的。
类集框架主要接口
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 队列接口,此接口的子类可以实现队列操作(FIFO, First-In-First-Out)
11 Map.Entry Map.Entry的内部接口,每个Map.Entry对象都保存着一对key->value的内容,每个Map接口中都保存多个Map.Entry接口实例。
以上的接口必须全部掌握,并且掌握各个接口的主要特点。
接口的继承关系
Collection接口:
Collection
List Set Queue SortedSet
Map接口:
Map
SortedMap
Collection接口的定义
Collection是保存单值集合的最大父接口。
Collection接口定义:
public interface Collection<E> extends Iterable<E>
JDK1.5之后为Collection接口增加了泛型声明
所有的类集操作都存放在java.util包中。
Collection接口的方法定义。
No. 方法 类型 描述
1 public boolean add(E o) 普通 向集合中插入对象
2 public boolean addAll(Collection<? extend 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) 普通 指定好返回的对象数组类型
Collection在EJB 2.x中大量使用了Collection接口,但是随着发展,sun公司开始将这些标准逐步的规范化,所以在sun一个开源————宠物商店,基本上就不再直接使用Collection,而使用List或Set,这样来说可以更加清楚的表示出操作的类型。
Collection子接口的定义
Collection接口虽然是集合的最大接口,但是如果直接使用Collection接口进行操作的话,则表示的操作意义不明确,所以在java开发中已经不提倡直接使用Collection接口了,主要的以子接口下:
List接口:可以存放重复内容
Set接口:不能存放重复内容,所有重复内容靠hashCode()和equals()两个方法区分的。
SortedSet接口:可以对集合中的数据进行排序
Queue列队接口(FIFO):堆栈列队
3、具体内容
类集作用
类集实际上就是一个动态的对象数组,与一般的对象数组不同,类集的对象内容可以任意扩充。
类集的特征:
1.这种框架是高性能的
2.框架必须允许不同类型的类集以相同的方式和高度互操作方式工作
3.类集必须是容易扩展和修改的
对象数组中包含一组对象,但对象数组使用的时候存在一个长度限制,那么类集是专门解决这种限制的,使用类集可以方便的向数组增加任意多个数据。
对象数组的操作中基本上都要保证对象类型的一致性,对于类集而言本身其内部的元素也应该保持一致,不管是何种类型的数据,所有的操作方式都应该是一样的。
类集框架主要接口
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 队列接口,此接口的子类可以实现队列操作(FIFO, First-In-First-Out)
11 Map.Entry Map.Entry的内部接口,每个Map.Entry对象都保存着一对key->value的内容,每个Map接口中都保存多个Map.Entry接口实例。
以上的接口必须全部掌握,并且掌握各个接口的主要特点。
接口的继承关系
Collection接口:
Collection
List Set Queue SortedSet
Map接口:
Map
SortedMap
Collection接口的定义
Collection是保存单值集合的最大父接口。
Collection接口定义:
public interface Collection<E> extends Iterable<E>
JDK1.5之后为Collection接口增加了泛型声明
所有的类集操作都存放在java.util包中。
Collection接口的方法定义。
No. 方法 类型 描述
1 public boolean add(E o) 普通 向集合中插入对象
2 public boolean addAll(Collection<? extend 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) 普通 指定好返回的对象数组类型
Collection在EJB 2.x中大量使用了Collection接口,但是随着发展,sun公司开始将这些标准逐步的规范化,所以在sun一个开源————宠物商店,基本上就不再直接使用Collection,而使用List或Set,这样来说可以更加清楚的表示出操作的类型。
Collection子接口的定义
Collection接口虽然是集合的最大接口,但是如果直接使用Collection接口进行操作的话,则表示的操作意义不明确,所以在java开发中已经不提倡直接使用Collection接口了,主要的以子接口下:
List接口:可以存放重复内容
Set接口:不能存放重复内容,所有重复内容靠hashCode()和equals()两个方法区分的。
SortedSet接口:可以对集合中的数据进行排序
Queue列队接口(FIFO):堆栈列队