Trang Chủ Tài chính Cá nhân Bằng cách sử dụng Streams và Lambda Expressions trong Java - núm vú

Bằng cách sử dụng Streams và Lambda Expressions trong Java - núm vú

Video: Java 8 - Comparator Lambda Expression 2025

Video: Java 8 - Comparator Lambda Expression 2025
Anonim

Java có các phương pháp ưa thích sử dụng tối ưu các luồng và biểu thức lambda. Với dòng chảy và biểu thức lambda, bạn có thể tạo ra một dây chuyền lắp ráp. Giải pháp lắp ráp sử dụng các khái niệm từ lập trình chức năng.

Dây chuyền lắp ráp bao gồm một số phương pháp. Mỗi phương pháp lấy dữ liệu, chuyển đổi dữ liệu bằng cách này hay cách khác, và đưa kết quả của nó tới phương pháp tiếp theo. Đây là một dây chuyền lắp ráp.

Một dây chuyền lập trình chức năng.

Mỗi hộp đại diện cho một bó nguyên liệu khi chúng được chuyển đổi theo dây chuyền lắp ráp. Mỗi mũi tên đại diện cho một phương pháp (hoặc, ẩn dụ, một công nhân trên dây chuyền lắp ráp).

Ví dụ: trong quá trình chuyển đổi từ hộp thứ hai sang hộp thứ ba, phương pháp của công nhân (phương pháp bộ lọc ) sẽ đẩy doanh số bán ra không phải là đĩa DVD. Hãy tưởng tượng Lucy Ricardo đứng giữa hộp thứ hai và thứ ba, loại bỏ từng cuốn sách hoặc đĩa CD khỏi dây chuyền lắp ráp và quăng nó một cách lơ đễnh lên sàn nhà.

filter của Java là một Predicate - một biểu thức lambda có kết quả là boolean . Phương pháp lọc loại bỏ các mục không vượt qua thử nghiệm đúng / sai của lambda. Một số phương pháp lập trình chức năng

Tên phương pháp
Thành viên Thông số Loại kết quả Giá trị Kết quả dòng
Bộ sưu tập (ví dụ: ArrayList , đối tượng) (không có) Luồng Một luồng spits ra các phần tử của bộ sưu tập bộ lọc
Dòng Predicate Luồng > Dòng mới có chứa các giá trị mà biểu thức lambda trả về true bản đồ Stream
Chức năng Dòng Một luồng mới chứa kết quả áp dụng biểu thức lambda đến luồng đến Giảm Dòng
BinaryOperator Loại được sử dụng bởi BinaryOperator Kết quả của việc kết hợp tất cả các giá trị trong dòng đầu bản đồ
phương pháp) kéo

giá trong mỗi bán . Từ vị trí của nhân viên trở lên, dây chuyền lắp ráp chỉ chứa giá trị giá . Để có thể chính xác hơn, phương pháp bản đồ của Java phải có

Chức năng như (bán) -> bán. getPrice () và áp dụng Chức năng

cho mỗi giá trị trong một luồng. Do đó, phương pháp

bản đồ sẽ lấy được một dòng bán các đối tượng đến và tạo ra một dòng giá trị giá đi ra. Trong quá trình chuyển từ hộp thứ tư sang hộp thứ năm, một phương pháp của công nhân ( giảm phương pháp) làm tăng giá bán DVD.Phương thức

của Java mất hai tham số: Tham số đầu tiên là một giá trị ban đầu. Trong hình trên, giá trị ban đầu là

0. 0

. Tham số thứ hai là BinaryOperator

. Trong hình trên, giảm

phương pháp BinaryOperator (giá1, giá2) -> giá1 + giá2 Phương pháp

giảm

sử dụng BinaryOperator để kết hợp các giá trị từ dòng gửi đến. Giá trị ban đầu là điểm bắt đầu cho tất cả các kết hợp. Vì vậy, giảm phương pháp làm hai bổ sung. Phương pháp làm giảm thêm hai giá trị từ một luồng đến. Để so sánh, hãy tưởng tượng gọi phương thức

giảm (10, 0, (value1, value2) -> value1 * value2)

với dòng có giá trị

3. 0 , 2. 0 5. 0 . Hành động kết quả được hiển thị bên dưới Phương thức giảm giảm giá trị từ một luồng đến. Có thể bạn đã từng nghe đến mô hình lập trình MapReduce của Google. Sự giống nhau giữa tên của mô hình lập trình và phương pháp Java tên

bản đồ

giảm không phải là một sự trùng hợp ngẫu nhiên. Được coi là toàn bộ, toàn bộ dây chuyền lắp ráp tăng giá bán đĩa DVD. Đoạn mã trên chứa một chương trình hoàn chỉnh sử dụng các luồng và biểu thức lambda biểu tượng hình ảnh đầu tiên ở trên. nhập khẩu java. bản văn. NumberFormat;

nhập khẩu java. util. Lập danh sách;

public class TallySales {

public static void main (String [] args) {

ArrayList

sales = new ArrayList <> ();

NumberFormat currency = Số định dạng. getCurrencyInstance (); fillTheList (bán hàng);

tổng cộng gấp đôi = bán hàng. stream ()

. lọc (bán) -> bán. getItem (). equals ("DVD"))

. bản đồ ((bán) -> bán. getPrice ())

. giảm (0, (giá1, giá2) -> giá1 + giá2);

Hệ thống. ngoài. println (đơn vị tiền tệ (tổng cộng));

}

static void fillTheList (ArrayList

sales) {

bán hàng. thêm (Bán mới ("DVD", 15. 00)); doanh thu. thêm (Bán mới ("Sách", 12,00));

doanh thu. thêm (Bán mới ("DVD", 21. 00));

doanh thu. thêm (bán mới ("CD", 5 25));

}

}

Mã yêu cầu Java 8 trở lên. Nếu IDE của bạn được đặt cho một phiên bản Java sớm hơn, bạn có thể phải chỉnh sửa các thiết lập của IDE. Bạn thậm chí có thể phải tải về một phiên bản Java mới hơn.

Sự đậm là một câu lệnh gán Java lớn. Phía bên phải của câu lệnh chứa một chuỗi các cuộc gọi phương thức. Mỗi cuộc gọi phương thức trả về một đối tượng, và mỗi đối tượng như vậy là điều trước khi dấu chấm trong cuộc gọi phương thức tiếp theo. Đó là cách bạn hình thành dây chuyền lắp ráp.

Ví dụ, gần đầu mã đậm, tên

bán hàng

đề cập đến một đối tượng ArrayList . Mỗi đối tượng ArrayList có phương pháp dòng suối . Trong đoạn mã trên, doanh thu. stream () là một cuộc gọi đến ArrayList đối tượng stream phương pháp. Phương thức luồng trả về một thể hiện của lớp Dòng

của Java. (Thật là một bất ngờ!) Vì vậy, doanh thu. stream () đề cập đến một đối tượng Stream . Nhận được tất cả các đĩa DVD bán hàng. Mỗi đối tượng

Stream

có một phương pháp lọc . Vì vậy, doanh thu. suối(). filter_1 () -> sale.getItem () = equals ("DVD")) là một cuộc gọi đến

⁣Stream

đối tượng lọc phương pháp. Mẫu tiếp tục. Phương thức

Bản đồ của đối tượng Stream trả về một đối tượng khác Stream - một đối tượng Stream có chứa giá. Nhận giá từ mỗi lần bán DVD. Với mức

Stream

giá mà bạn áp dụng phương pháp giảm , mang lại một giá trị đôi - tổng giá của đĩa DVD. Nhận được tổng giá của tất cả các đĩa DVD bán.

Bằng cách sử dụng Streams và Lambda Expressions trong Java - núm vú

Lựa chọn của người biên tập

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Cách lọc một nguồn dữ liệu kết hợp trong Word 2013 - núm vú

Trong tài liệu Word 2013, lọc một nguồn dữ liệu loại trừ các bản ghi nhất định (hoặc xem một cách khác, nó chỉ bao gồm một số bản ghi) dựa trên một hoặc nhiều tiêu chí mà bạn chỉ định. Ví dụ: bạn có thể muốn chỉ bao gồm các địa chỉ từ một thành phố hoặc tiểu bang nhất định, hoặc chỉ những địa chỉ phù hợp với địa chỉ ...

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Cách Tìm Stuff bạn không thể gõ trong Word 2007 - núm vú

Word 2007 giúp tìm các ký tự đặc biệt, không in được trong tài liệu của bạn. Sử dụng hộp thoại Tìm và Thay thế, bạn có thể tìm kiếm những thứ như tab, dấu phân cách, dấu thập phân, khoảng trống và những thứ khác mà bạn không thể tạo ra từ bàn phím. Gọi hộp thoại Tìm và Thay thế. Nếu cần thiết, hãy nhấp vào nút Thêm để ...

Cách Tìm Định dạng trong Word 2007 - núm vú

Cách Tìm Định dạng trong Word 2007 - núm vú

Bạn có thể sử dụng lệnh Tìm để đánh cắp tài liệu Word 2007 của bạn để định dạng thông tin. Ví dụ, nếu bạn chỉ muốn tìm những trường hợp của từ lie có chữ đậm, bạn có thể làm điều đó. Ví dụ này tìm kiếm trứng ngỗng văn bản với kích thước phông chữ là 24 điểm trong một ...

Lựa chọn của người biên tập

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Làm thế nào để Thoả Nhận Hợp Đồng Máy chủ Web - núm vú

Trên thực tế, đa số của máy chủ web không hoàn lại tiền nếu bạn để lại trước khi thời hạn hợp đồng của bạn kết thúc. Trong thực tế, nếu bạn có một thỏa thuận giá rẻ trên hosting của bạn, nó có thể có các điều khoản và điều kiện yêu cầu bạn xem ra thời hạn của hợp đồng hoặc trả tiền cho đặc quyền ...

Cách quản lý tập tin với Control Panel của Website - núm vú

Cách quản lý tập tin với Control Panel của Website - núm vú

Bảng điều khiển của bạn cung cấp cho bạn một cách tiện dụng để quản lý các tệp của bạn mà không cần máy chủ FTP được lưu trữ trên web. Đây là một cái gì đó phổ biến cho hầu hết các bảng điều khiển nhưng đôi khi có nhãn khác nhau một chút. Ví dụ, hầu hết các máy chủ gọi nó là File Manager, nhưng DreamHost gọi nó là webFTP. Sử dụng Trình quản lý Tệp là

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cách Quản lý Người dùng với Quản lý Máy chủ Web - núm vú

Cây thư mục riêng trên máy chủ nơi tập tin của nó được giữ. Là chủ sở hữu của máy chủ, bạn có quyền truy cập superuser cho toàn bộ máy chủ, có nghĩa là bạn có thể xem tất cả các tệp tin của chủ tài khoản khác. Tất cả các tập tin tài khoản được lưu giữ trong các thư mục bên trong một thư mục gọi là home, ...

Lựa chọn của người biên tập

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

Tạo một Cột trang web mới trong SharePoint 2010 - núm vú

SharePoint 2010 có một thực thể cột trang web cho phép bạn để sử dụng lại các cột trên nhiều danh sách. Khi bạn tạo một cột mới trong danh sách của mình, bạn tạo ra một cột danh sách - có nghĩa cột chỉ có thể được sử dụng trong danh sách đó. Các cột của trang web được tạo ở cấp cao nhất của trang web nhóm của bạn và có thể ...

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Tạo Tuỳ chỉnh Chủ đề cho SharePoint 2010 Sử dụng PowerPoint - núm vú

Cho nhiều nhà thiết kế trang web và chủ sở hữu SharePoint 2010 , ý tưởng để có thể tùy chỉnh chủ đề của họ là rất thú vị. Mặt khác, nhiệm vụ chọn nhiều màu có thể có vẻ khó chịu với những người biết họ thích gì khi họ nhìn thấy nó nhưng gặp sự cố khi lựa chọn. Nếu bạn ở trong ...

Tạo trang web mới trong SharePoint 2010 - núm vú

Tạo trang web mới trong SharePoint 2010 - núm vú

Bạn có thể tạo một bộ sưu tập trang web mới trong SharePoint theo hai cách - bằng cách sử dụng Quản trị Trung tâm hoặc thông qua Tạo trang web Tự phục vụ. Sử dụng Quản trị Trung tâm đòi hỏi các quyền được cấp phép, thường là hạn chế đối với nhân viên CNTT. Tạo trang web tự tạo là một tính năng của SharePoint cho phép CNTT trao quyền cho việc tạo bộ sưu tập trang web mới ...