java集合类:1、集合框架
集合框架中的接口
集合框架是一个统一的架构,用来表示和操作集合。 一个集合是一个对象,它表示了一组对象。集合框架主要是由一些接口、抽象类以及相应的实现类组件。我们来看一下集合框架中的接口
所谓框架就是一个类库的集合。集合框架就是一个用来表示和操作集合的统一的架构,包含了实现集合的接口与类。
从Collection接口派生出两个接口Set和List,从Set接口派生出SortedSet接口。从Map接口派生出SortedMap接口。
需要注意的是:Map接口和Collection接口没有任何关系。
接口之间的区别
我们来看一下这些接口之间的区别:
Collection:
集合层次中的根接口,JDK没有提供这个接口直接的实现类。
Set:
不能包含重复的元素。
Set接口是从Collection接口继承而来,但是Set接口并没有提供任何新的抽象方法。在Set接口当中它的方法和Collection接口当中的方法是一样的。但是要注意的是,这两个接口它们表示的含义是不一样的。
SortedSet是一个按照升序排列元素的Set。也就是说SortedSet是一个排序的Set
List:
是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式。
需要注意的是:这个有序并不是指的排序,它指的是在List当中元素是按照一定的次序摆放的,各个元素之间的位置是很重要的。
我们集合框架中的接口还有相应的实现类都是在java的util包当中的。我们参考API,你会发现在Collection接口当中它提供了一个add方法,可以让我们将元素加入到集合当中。但是它并没有提供相应的get方法,也就是说没有提供相应的获取元素的方法。
那么在List当中,它增加了一个get方法( Object get(int idex) ),是按照索引去获取集合当中的元素。
Map:
包含了key-value键值对。Map不能包含重复的key。
SortedMap是一个按照升序排列key的Map。也就是说SortedMap是一个排序的Map
集合框架中的实现类
我们来看一下集合框架中的实现类
继承用的实线,实现类用的虚线。
也就是说:HashSet、LinkedHashSet实现了Set接口,SortedSet接口继承于Set接口,其他同理。
那么这些类和接口,我们现在没有必要去死记硬背它。后面我们介绍了这些类的用法以及这些类之间的区别,那么大家自然而然就会记住了。
ArrayList
ArrayList:
我们可以将其看作是能够自动增长容量的数组。
利用ArrayList的toArray()返回一个数组。
Arrays.asList()返回一个列表。
迭代器(Iterator) 给我们提供了一种通用的方式来访问集合中的元素。
整理中。。。