首页 > 学院 > 开发设计 > 正文

Java从零开始学二十(集合简介)

2019-11-14 23:04:12
字体:
来源:转载
供稿:网友
java从零开始学二十(集合简介)一、为什么需要集合框架

数组的长度是固定的,但是如果写程序时并不知道程序运行时会需要多少对象、或者需要更复杂的方式存储对象,---那么,可以使用JAVA集合框架,来解决这类问题

二、集合框架主要接口
No接口描述
1Collection是存放一组单值的最大接口,所谓的单值是指集合中的每个元素都是一个对象。一般很少会直接使用此接口直接操作。
2List是Collection接口的子接口,也是最常用的接口,此接口对Collection接口进行了大量的扩充,里面的内容是允许重复的。
3Set是Collection接口的子类,没有对Collection接口进行扩充,里面不允许存放重复内容。
4MapMap是存放一对值的最大接口,即,接口中的每个元素都是一对,以key-value的形式保存。
5Iterator集合的输出接口,用于输出集合中的内容,只能进行从前到后的单向输出。
6ListIterator是Iterator的子接口,可以进行双向输出。
7Enumeration是最早的输出接口,用于输出指定集合中的内容。
8SortedSet单值的排序接口,实现此接口的集合类,里面的内容是可以排序的,使用比较器排序。
9SortedMap存放一对值的排序接口,实现此接口的集合类,里面的内容按照key排序,使用比较器排序。
10Queue队列接口,此接口的子类可以实现队列操作。
11Map.EntryMap.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.方法类型描述
1public boolean add(E o)普通向集合中插入对象
2public boolean addAll(Collection<? extends E> c)普通将一个集合的内容插入进来
3public void clear()普通清除此集合中的所有元素
4public boolean contains(Object o)普通判断某一个对象是否在集合中存在
5public boolean containsAll(Collection<?> c)普通判断一组对象是否在集合中存在
6public boolean equals(Object o)普通对象比较
7public int hashCode()普通哈希码
8public boolean isEmpty()普通集合是否为空
9public Iterator<E> iterator()普通为Iterator接口实例化
10public boolean remove(Object o)普通删除指定对象
11public boolean removeAll(Collection<?> c)普通删除一组对象
12public boolean retainAll(Collection<?> c)普通保存指定内容
13public int size()普通求出集合的大小
14public Object[] toArray()普通将一个集合变为对象数组
15public <T> T[] toArray(T[] a)普通指定好返回的对象数组类型
六、区别
  • Connection:接口存储值不唯一,无序的对象
  • List:接口存储值不唯一,有序(插入顺序)的对象
  • Set:接口存储值唯一,无序的对象
  • Map:接口存储值一组键值对象,提供键(Key)到值(Value)的映射

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表