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

ความแตกต่างระหว่างสตรีมและคอลเล็กชันใน Java 8


กรอบงาน Java Collections ใช้สำหรับจัดเก็บและจัดการกลุ่มข้อมูล เป็นโครงสร้างข้อมูลในหน่วยความจำและทุกองค์ประกอบในคอลเล็กชันควรได้รับการคำนวณก่อนจึงจะสามารถเพิ่มลงในคอลเล็กชันได้

Stream API ใช้สำหรับการประมวลผลกลุ่มข้อมูลเท่านั้น ไม่แก้ไขคอลเลกชันจริง แต่ให้ผลลัพธ์ตามวิธีการไปป์ไลน์เท่านั้น

ซีเนียร์ เลขที่ คีย์ คอลเลกชัน สตรีม
1
พื้นฐาน
ใช้สำหรับจัดเก็บและจัดการกลุ่มข้อมูล
Stream API ใช้สำหรับประมวลผลกลุ่มข้อมูลเท่านั้น
2
แพ็คเกจ
คลาสและอินเทอร์เฟซทั้งหมดของ API นี้อยู่ใน Java.util package
คลาสและอินเทอร์เฟซทั้งหมดของ API นี้อยู่ในแพ็คเกจ java.util.stream
3
กระตือรือร้น/ขี้เกียจ
องค์ประกอบทั้งหมดในคอลเล็กชันจะถูกคำนวณในตอนเริ่มต้น
ในสตรีม การดำเนินการระดับกลางนั้นขี้เกียจ
4.
การปรับเปลี่ยนข้อมูล
ในคอลเลกชัน เราสามารถลบหรือเพิ่มองค์ประกอบได้
เราไม่สามารถแก้ไขสตรีมได้
5
External /Internal iterator
คอลเลคชันดำเนินการวนซ้ำในคอลเล็กชัน
สตรีมดำเนินการวนซ้ำภายใน

ตัวอย่างคอลเลกชั่น

public class CollectiosExample {
   public static void main(String[] args) {

      List<String> laptopList = new ArrayList<>();
      laptopList.add("HCL");
      laptopList.add("Apple");
      laptopList.add("Dell");
      Comparator<String> com = (String o1, String o2)->o1.compareTo(o2);

      Collections.sort(laptopList,com);

      for (String name : laptopList) {
         System.out.println(name);
      }
   }
}

ตัวอย่างสตรีม

public class StreamsExample {
   public static void main(String[] args) {

      List<String> laptopList = new ArrayList<>();
      laptopList.add("HCL");
      laptopList.add("Apple");
      laptopList.add("Dell");
      laptopList.stream().sorted().forEach(System.out::println);
   }
}