首页 > 代码库 > 集合系列日记(17.5.8)

集合系列日记(17.5.8)

技术分享

list和set继承于collection的两个分支,list是有序的队列,里面是可以有重复的元素,而set像是数学中集合的概念,是没有重复的元素。

如图所示,抽象类abstractcollection实现了collection的大部分功能,而抽象类abstractlist和abstractset继承于abstractcollection,接口list和set分别实现了这两个类。collection接口中有一个方法lterator可以实现对元素的遍历。

1)collection是一个接口,是高度抽象出来的集合,可以实现对元素的添加、删除、清空、遍历等一些基本操作(

定义:public interface Collection<E> extends Iterable<E> {}

2)list是继承于collection的一个接口,list中的元素可以重复,每个元素都有一个index,第一个元素索引值为0,以后依次加1,可以根据元素的索引值去查找元素

定义:public interface List<E> extends Collection<E> {}

3)set接口也是继承于collection,就像数学里的集合,不可以拥有相同的元素

定义:public interface Set<E> extends Collection<E> {}

4)AbstractCollection可以让一些类不通过继承Collection接口,就可以实现里面的大部分功能,

定义:public abstract class AbstractCollection<E> implements Collection<E> {}

5)Iterator是一个接口,可以通过它去遍历整个元素(是否存在下一个元素,获取下一个元素和删除当前元素)

abstract boolean hasNext()
abstract E next()
abstract void remove()

6)Listlterator继承于Lterator接口,它是队列接待器,新增添加、是否存在上一个元素、获取上一个元素等等接口。

 

集合系列日记(17.5.8)