《数据结构与算法(java版)》第五章 基于数组的结构

基于数组的结构

数组具有固定的长度。

5.1收缩和加长数组

数组的大小是在分配它时确定的。若想实现收缩和加长,可先定义一个size然后利用数组复制完成。

5.3 List接口

List是元素的序列。第一个元素是元素0,下一个元素是元素1.

用ArrayList类实现List接口:

List list = newArrayList();

5.4迭代器

java.util包中的Iterator接口详细说明了3个方法:hasNext()、next()、romove()。

如果有下一个元素要访问,hasNext()方法就会返回true()。next()方法返回下一个元素。

5.5抽象类

List是由AbstractList类实现的,AbstractList类反过来又被ArrayList和Vector扩展。AbstractList是一个抽象类(abstract class),这意味着不能创建它的一个实例。抽象类存在的唯一目的就是被其他类扩展。

抽象类和接口之间的关键区别是:抽象类可以指定职责和(部分)实现,而接口只能指定职责。用更具技术性的话讲,抽象类可以包含字段、抽象方法和非抽象方法,而接口只能(隐含地)包含抽象方法。

5.7术语

抽象类(abstract class):不能实例化但是可以包含抽象类方法的类。与接口不同的是,抽象类还可以包含字段和非抽象方法。

抽象方法(abstract method):不带方法体的方法签名,其方法体将由另一个类提供。在接口和抽象类中可以找到抽象方法。

迭代器(iterator):允许遍历某种数据结构的对象。在java中,它是java.util.Iterator类的一个实例。

你可能感兴趣的:(《数据结构与算法(java版)》第五章 基于数组的结构)