กรอบงาน 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); } }