Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa Luồng và Tập hợp trong Java 8

Khung Java Collections được sử dụng để lưu trữ và xử lý nhóm dữ liệu. Đây là cấu trúc dữ liệu trong bộ nhớ và mọi phần tử trong bộ sưu tập phải được tính toán trước khi có thể thêm nó vào bộ sưu tập.

API luồng chỉ được sử dụng để xử lý nhóm dữ liệu. Nó không sửa đổi bộ sưu tập thực tế, chúng chỉ cung cấp kết quả theo các phương thức pipelined.

Sr. Không. Phím Bộ sưu tập Luồng
1
Cơ bản
Nó được sử dụng để lưu trữ và xử lý nhóm dữ liệu
API luồng chỉ được sử dụng để xử lý nhóm dữ liệu
2
Gói
Tất cả các lớp và giao diện của API này nằm trong gói Java.util
Tất cả các lớp và giao diện của API này nằm trong gói java.util.stream
3
Háo hức / Lười biếng
Tất cả các phần tử trong bộ sưu tập được tính toán ngay từ đầu.
Trong các luồng, các hoạt động trung gian là lười biếng.
4.
Sửa đổi Dữ liệu
Trong bộ sưu tập, chúng ta có thể loại bỏ hoặc thêm các phần tử.
Chúng tôi không thể sửa đổi luồng.
5
Trình lặp bên ngoài / Bên trong
Bộ sưu tập thực hiện lặp lại bộ sưu tập.
Luồng thực hiện lặp lại nội bộ.

Ví dụ về Bộ sưu tập

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);
      }
   }
}

Ví dụ về Luồng

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);
   }
}