Java中Iterator(迭代器) 与Collection(集合)用法与区别

迭代器(Iterator)

它在Collection Framework中使用,以便在需要时检索元素。

public interface Iterator

它可以与“next”函数一起使用,以移动和访问下一个元素。“remove”函数可用于从数据结构中删除元素。

与Collections相比,它更快,因为与Iterator关联的操作数量更少。

以下是使用列表的迭代器的示例-

示例

mport java.io.*;
import java.util.*;
public class Demo{
   public static void main(String[] args){
      ArrayList<String> my_list = new ArrayList<String>();
      my_list.add("Its");
      my_list.add("a");
      my_list.add("sample");
      Iterator iterator = my_list.iterator();
      System.out.println("该列表包含以下元素 : ");
      while (iterator.hasNext())
      System.out.print(iterator.next() + ",");
      System.out.println();
   }
}

输出结果

该列表包含以下元素:
Its,a,sample,

名为Demo的类包含主要函数。在这里,定义了一个新的数组列表,并使用“add”函数将元素添加到其中。定义了一个迭代器,并在数组列表中对其进行迭代,然后对元素进行一个接一个的迭代,然后将其打印在控制台上。

集合(Collection)

public interface Collection<E> extends Iterable<E>

在此,E表示将要返回的元素的类型。集合框架用于定义不同的类和接口,这些类和接口将用于将一组对象表示为单个实体。

集合可以使用“add”函数、“iterate”函数、“remove”函数和“clear”函数分别添加元素、逐个迭代元素、移除元素或清除整个结构。

让我们看一个例子-

示例

import java.io.*;
import java.util.*;
public class Demo{
   public static void main (String[] args){
      int my_arr[] = new int[] {56, 78, 90};
      Vector<Integer> my_vect = new Vector();
      Hashtable<Integer, String> my_hashtab = new Hashtable();
      my_vect.addElement(0);
      my_vect.addElement(100);
      my_hashtab.put(0,"sample");
      my_hashtab.put(100,"only");
      System.out.print("数组中的第一个元素是 ");
      System.out.println(my_arr[0]);
      System.out.print("向量中的第一个元素是 ");
      System.out.println(my_vect.elementAt(0));
      System.out.print("哈希表中的第一个元素是 ");
      System.out.println(my_hashtab.get(0));
   }
}

输出结果

数组中的第一个元素是 56
向量中的第一个元素是 0
哈希表中的第一个元素是 sample

名为Demo的类包含Main函数。 这里定义了一个新的整数数组,并向其中添加了元素。 现在定义了一个新的Vector,以及一个Hashtable。 使用‘addElement’函数将元素添加到向量。 使用‘put’函数将元素添加到哈希表。 所有三个结构的元素都打印在控制台上。