源码(07) -- java.util.Iterator<E>

java.util.Iterator<E> 源码分析(JDK1.7)

---------------------------------------------------------------------------------

java.util.Iterator<E>是一个接口,它的定义如下:

1 public interface Iterator<E> {
2
3     boolean hasNext();
4
5     E next();
6
7     void remove();
8 }

(1)java.util.Iterator<E>是一个接口,用来对collection进行迭代的迭代器。(用来取代Enumeration)

(2)迭代器与枚举有两点不同:

  1. 迭代器允许调用者在迭代期间从迭代器所指向的collection移除元素
  2. 方法名称得到了改进

---------------------------------------------------------------------------------

下面来看看java.util.Iterator<E>接口中具体有哪些方法

boolean hasNext() 如果仍有元素可以迭代,则返回true
E next() 返回迭代的下一个元素
void remove() 从迭代器指向的collection中移除迭代器返回的最后一个元素
时间: 2024-12-23 14:36:28

源码(07) -- java.util.Iterator<E>的相关文章

源码(03) -- java.util.Collection&lt;E&gt;

 java.util.Collection<E> 源码分析 --------------------------------------------------------------------------------- java.util.Collection<E>是一个接口,它的定义如下: 1 public interface Collection<E> extends Iterable<E> { 2 // Query Operations 3 //

源码(06) -- java.util.AbstractList&lt;E&gt;

java.util.AbstractList<E> 源码分析(JDK1.7) --------------------------------------------------------------------------------- java.util.AbstractList<E>是一个抽象类,它的定义如下: 1 public abstract class AbstractList<E> extends AbstractCollection<E>

java源码(4) -- java.util.Collection

我也不知道看源码有什么用,就是想去看看... java.util.Collection 这是一个接口,是java中集合框架的根接口. 下面来具体看看该接口中定义了哪些方法 public interface Collection<E> extends Iterable<E>{ //操作集合元素的方法 boolean add(E e);//将元素E添加到该集合中 boolean addAll(Collection<? extends E> c);//将集合c添加到该集合中

源码(08) -- java.util.ListIterator&lt;E&gt;

java.util.ListIterator<E> 源码分析(JDK1.7) --------------------------------------------------------------------------------- java.util.ListIterator<E>是一个接口,它的定义如下: 1 package java.util; 2 3 4 public interface ListIterator<E> extends Iterator&

JDK1.8源码(五)——java.util.ArrayList 类

关于 JDK 的集合类的整体介绍可以看这张图,本篇博客我们不系统的介绍整个集合的构造,重点是介绍 ArrayList 类是如何实现的. 1.ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复. public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializabl

JDK1.8源码(六)——java.util.LinkedList 类

上一篇博客我们介绍了List集合的一种典型实现 ArrayList,我们知道 ArrayList 是由数组构成的,本篇博客我们介绍 List 集合的另一种典型实现 LinkedList,这是一个由链表构成的数组,关于链表的介绍,在这篇博客中 我们也详细介绍过,本篇博客我们将介绍 LinkedList 是如何实现的. 1.LinkedList 定义 LinkedList 是一个用链表实现的集合,元素有序且可以重复. 1 public class LinkedList<E> 2 extends A

Java源码之 java.util.concurrent 学习笔记01

准备花点时间看看 java.util.concurrent这个包的源代码,来提高自己对Java的认识,努力~~~ 参阅了@梧留柒的博客!边看源码,边通过前辈的博客学习! 包下的代码结构分类: 1.java.util.concurrent.atomic,正如它的英文意思一样,是一个线程安全.原子操作相关的包 另一个专门为线程安全设计的Java包,包含多个原子操作类.这个包里面提供了一组原子变量类.其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程

JDK1.8源码(七)——java.util.HashMap 类

本篇博客我们来介绍在 JDK1.8 中 HashMap 的源码实现,这也是最常用的一个集合.但是在介绍 HashMap 之前,我们先介绍什么是 Hash表. 1.哈希表 Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key - value)而直接进行访问的数据结构.也就是说它通过把关键码值映射到表中的一个位置来访问记录,以此来加快查找的速度.在链表.数组等数据结构中,查找某个关键字,通常要遍历整个数据结构,也就是O(N)的时间级,但是对于哈希表来说,只是O(1)的时间

JDK源码笔记-java.util.HashMap

HashMap 的存储实现 当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例: Java代码 HashMap<String , Double> map = new HashMap<String , Double>(); map.put("语文" , 80.0); map.put("数学" , 89.0); map.put("英语" , 78.2); HashMap 采用一种所谓的&quo