Iterator:迭代器。
其实就是集合取出元素的方式,每个容器的数据结构不一样,所以他们存取的方式不一样,具体事项方法不一样,具体实现方法不一样,每个集合都具备取出方式,对于取出这个动作不足以用一个函数来描述,需要用多个功能来体现,一般情况将多个功能封装到一个对象里面去,所以每个容器都有一个取出的对象,而且,因为数据结构不同,每个取出对象中实现的方式不一样,取出对象用一个类来描述,定义在了集合元素内部,直接操作元素,叫内部类,这个类完成取出元素的定义
这些内部类都符合一个规则,该规则是Iterator,如何获取集合的取出对象呢?通过一个对外提供的方法iterator()
理解迭代器一个生活中的例子:
电玩城里面的夹娃娃
玻璃大罐子就是个容器,里面的布娃娃就是元素,这些布娃娃都有不同的排列方式,取出娃娃,夹子就是迭代器,夹子定义在了容器内部,夹子就是取出方式,夹子是复杂事物,有异动、打开、闭合的方法,而且封装在了内部,不同电玩城的夹子样式不一样,但都具有相同的移动、打开、闭合方法,我们只能通过操作杆操作夹子对象,而iterator()就相当于操作杆
java里Iterator的原理
时间: 2024-10-08 16:33:54