Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Iterator vs Collection ใน Java


ตัววนซ้ำ

มันถูกใช้ใน Collection Framework เพื่อดึงองค์ประกอบเมื่อจำเป็น

public interface Iterator

สามารถใช้กับฟังก์ชัน "ถัดไป" เพื่อย้ายและเข้าถึงองค์ประกอบถัดไปได้ ฟังก์ชัน "ลบ" สามารถใช้เพื่อลบองค์ประกอบออกจากโครงสร้างข้อมูลได้

เร็วกว่าเมื่อเปรียบเทียบกับคอลเล็กชัน เนื่องจากจำนวนการดำเนินการที่เกี่ยวข้องกับ 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("The list contains the following elements : ");
      while (iterator.hasNext())
      System.out.print(iterator.next() + ",");
      System.out.println();
   }
}

ผลลัพธ์

The list contains the following elements :
Its,a,sample,

คลาสชื่อ Demo มีฟังก์ชันหลัก มีการกำหนดรายการอาร์เรย์ใหม่และเพิ่มองค์ประกอบลงในรายการโดยใช้ฟังก์ชัน 'เพิ่ม' มีการกำหนดตัววนซ้ำและมีการวนซ้ำในรายการอาร์เรย์และองค์ประกอบจะถูกวนซ้ำทีละรายการ จากนั้นพิมพ์บนคอนโซล

คอลเลกชัน

public interface Collection<E> extends Iterable<E>

ในที่นี้ E หมายถึงประเภทขององค์ประกอบที่จะถูกส่งคืน Collection Framework ใช้เพื่อกำหนดคลาสและอินเทอร์เฟซต่างๆ ที่จะใช้เพื่อแสดงกลุ่มของอ็อบเจ็กต์เป็นเอนทิตีเดียว

คอลเล็กชันสามารถใช้ฟังก์ชัน "เพิ่ม" ฟังก์ชัน "วนซ้ำ" ฟังก์ชัน "ลบ" และฟังก์ชัน "ล้าง" เพื่อเพิ่มองค์ประกอบ วนซ้ำองค์ประกอบทีละรายการ ลบองค์ประกอบ หรือล้างโครงสร้างทั้งหมดตามลำดับ

เรามาดูตัวอย่างกัน −

ตัวอย่าง

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("The first element in the array is ");
      System.out.println(my_arr[0]);
      System.out.print("The first element in the vector is ");
      System.out.println(my_vect.elementAt(0));
      System.out.print("The first element in the hashtable is ");
      System.out.println(my_hashtab.get(0));
   }
}

ผลลัพธ์

The first element in the array is 56
The first element in the vector is 0
The first element in the hashtable is sample

คลาสชื่อ Demo มีฟังก์ชันหลัก ในที่นี้ มีการกำหนดอาร์เรย์จำนวนเต็มใหม่และเพิ่มองค์ประกอบเข้าไป ตอนนี้มีการกำหนด Vector ใหม่แล้ว เช่นเดียวกับ Hashtable องค์ประกอบถูกเพิ่มลงในเวกเตอร์โดยใช้ฟังก์ชัน 'addElement' เพิ่มองค์ประกอบใน Hashtable โดยใช้ฟังก์ชัน 'put' องค์ประกอบของโครงสร้างทั้งสามจะพิมพ์บนคอนโซล