《数据结构与算法(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类的一个实例。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,118评论 18 399
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,410评论 0 3
  • 在经过一次没有准备的面试后,发现自己虽然写了两年的android代码,基础知识却忘的差不多了。这是程序员的大忌,没...
    猿来如痴阅读 8,041评论 3 10
  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 6,233评论 0 3
  • -01- 粤北一小村庄,青砖黑瓦零星分布。地上蒙着一层雪,雪中脚印能有两寸深。 寒风凛冽,荒芜小巷里一破旧房子,王...
    影然阅读 3,957评论 14 21