ch02 -Static and Dynamic Arrays

---

Static

静态数组长度固定

什么时候使用静态数组:

1C42AD0D6B6119F3A6D945FCC1EAFC6D

Dynamic

The dynamic array can grow and shrink in size

742E2A51132C466101BB85F85B9DA823

How can we implement a DA?

A: One way is to use a static array!

0F850413DC4ACC6FCF761E79D4BCFE47

E2350BFFDFF735A2D79DF150B129E227

Complexity

3DCFC14439A1C4359B35B4B093AB74D1

Learn Source Code

注意removeAt方法中的循环,

image-20210122155507263

泛型和迭代-Review

要让一个类DynamicArray可迭代,第一步就是在它的声明中加入implements Iterable

image-20210122162008951

然后实现Iterable接口中的iterator()方法,该方法要求返回一个Iterator迭代器:

image-20210122162641631

Iterator迭代器是一个接口,提供了hasNext(),next()和remove()方法:

image-20210122163124424

因此,我们需要实现以上三个方法,示例源码如下:

image-20210122163651724

参考教材上的介绍:

(示例里将hasNext(),next(),remove()这组方法实现合并到对iterator()的覆盖中了)

803B31F514D39BF630D69F1673989B74

测试结果:

image-20210122164956366

posted @ 2021-01-22 16:51  盐盐盐の锅  阅读(69)  评论(0编辑  收藏  举报