容器其实就是用来存放东西的器皿而已,其实谈到容器,首先想到的就是数组,在之前的学习中接触最多,自己也最为了解。在数据的存取方面也挺方便的。存储效率较高访问快。但是数据也有缺点,数组的长度受到限制。长度也要固定在一个范围不够灵活。
下面介绍几种Java提供的相应的解决办法。Java容器。首先从一副图开始。
Collection 接口:
定义了存取一组对象的方法,其子接口Set和List分别定义了存取方式Set中的数据对象没有顺序且不可以重复。
List中的数据对象有顺序且可以重复。(重复指数据对象之间equals)
Map接口定义了存取“键(key)-----值(value)映射对”的方法。
多态存在三个必要条件: 要有继承; 要有重写; 要有父类的引用指向子类的对象。
List接口
Listjiekou 是Collection的子接口,实现List接口的容器类中的元素是有顺序的,而且可以重复。List容器中的元素都对应一个整数型的序号记载器在容器中的位置,可以根据序号存取容器中的元素。
J2SDK所提供的List容器类有ArrayList、LinkedList等。
Set接口
Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。Set的构造函数有一个约束条件,传入的Collection参数不能包含重复的元素。
Set容器类主要有HashSet和TreeSet等。
Map接口
实现Map接口的类用来存储键—值对。Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。Map接口的实现类与HashMap和TreeMap等。
Map类中存储的键—值对通过键来表示,,所以键值不能重复。