Java集合类及接口.ppt
文本预览下载声明
分布式程序设计 预备知识:Java集合类及接口 本章内容: Java集合类及接口概述 Collection接口 List接口和ArrayList实现类 Set接口和HashSet实现类 Iterator迭代接口 Map接口和HashMap实现类 集合类应用例子 Java集合类及接口概述 为什么要有集合类? 在Java中,我们通常用数组保存一组相关的元素,数组的优点是可以随机访问,存取效率高,但是它有以下缺点: 大小自创建以后就固定了,在其整个生存期内其大小不可改变 数组元素只能是同一类型 为了解决以上问题,Java引入了集合框架。 集合可以看成是一个动态的对象数组,容量可以根据需要扩充,而且可以存储任意类型的元素。 Java集合类及接口概述 Java集合框架 在Java 2中有很多与集合有关的接口及类,位于java.util中,它们被组织在以Collection及Map接口为根的层次结构中,称为集合框架。 Java集合类及接口概述 Collection接口 Collection是保存单值集合的最大父接口。 Collection接口定义: public interface CollectionE extends IterableE JDK 1.5之后为Collection接口增加了泛型声明 在一般的开发中,往往很少去直接使用Collection接口进行开发,而基本上都是使用其子接口。子接口主要有:List、Set。 Collection接口 List接口和ArrayList实现类 List接口 List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下: public interface ListE extends CollectionE List中的元素是有顺序的,每个元素都有一个index值(从0开始),标明元素在列表中的位置。 实现它的四个主要类是 向量Vector ArrayList:一种类似数组的形式进行存储,因此它的随机访问速度极快 LinkedList:内部实现是链表,适合于在链表中间需要频繁进行插入和删除操作 栈Stack List接口和ArrayList实现类 List接口的扩展方法 List接口和ArrayList实现类 List接口的常用子类 —— ArrayList ArrayList是List子类,可以直接通过对象的多态性,为List接口实例化。此类的定义如下: public class ArrayListE extends AbstractListE implements ListE, RandomAccess, Cloneable, Serializable ArrayList的构造方法 ArrayList() ???构造一个初始容量为 10 的空列表。 ArrayList(Collection? extends E?c) ???构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。ArrayList(int?initialCapacity) ???构造一个具有指定初始容量的空列表。 List接口和ArrayList实现类 实例操作一:向ArrayList中增加元素 要向ArrayList中增加元素,可以直接使用Collection接口定义的两个方法: 1.增加一个元素:public boolean add(E o) 2. 增加一组元素:public boolean addAll(Collection? extends E c) 也可以使用List扩充的add()方法在指定位置处增加元素: 1.在指定位置处增加一个元素: public void add(int index, E element) 2.在指定位置处增加一组元素: public boolean addAll(int index, Collection? extends E c) List接口和ArrayList实现类 实例操作二:在ArrayList中删除元素 要向ArrayList中增加元素,可以直接使用Collection接口定义的两个方法: 1.删除一个元素:public boolean remove(Object o) 2. 删除一组元素:public boolean removeAll(Collection? c) 也可以使用List扩充的remove()方法在指定位置处删除元素: 1.在指定位置处删除一个元素: public E remove(int i
显示全部