Chuyển đổi đối tượng sang kiểu dữ liệu khác sử dụng Lambda Expression và Stream trong Java

Kể từ Java 8, chúng ta có thể chuyển đổi một đối tượng Java sang kiểu dữ liệu khác sử dụng phương thức map() của đối tượng Stream với Lambda Expression. Trong bài viết này, mình sẽ trình bày với các bạn một số ví dụ để làm điều này.

Trước tiên, các bạn cần biết là, phương thức map() là một intermediate operation nên chúng ta sẽ cần thêm phương thức đóng vai trò là terminal operation để hoàn thành Stream pipeline. Các bạn xem thêm về đối tượng Stream ở đây để hiểu rõ hơn nhé.

Ví dụ đầu tiên, chúng ta sẽ chuyển đổi một List của String dưới dạng chữ thường sang List của String dưới dạng viết hoa sử dụng phương thức map().

Trước Java 8, chúng ta có thể chuyển đổi như sau:

Kết quả:

Chuyển đổi đối tượng sang kiểu dữ liệu khác sử dụng Lambda Expression và Stream trong Java

Nếu bây giờ, các bạn viết lại đoạn code trên sử dụng phương thức map() của đối tượng Stream với Lambda Expression từ Java 8:

thì kết quả vẫn như vậy.

Chuyển đổi đối tượng sang kiểu dữ liệu khác sử dụng Lambda Expression và Stream trong Java



Ví dụ thứ 2 mà mình muốn đề cập ở đây đó là chúng ta có thể extract một số thông tin từ đối tượng này tới đối tượng khác sử dụng phương thức map().

Ví dụ, mình có class Student như sau:

Bây giờ, mình có thể extract thông tin tên của tất cả sinh viên thành danh sách tên như sau:

Trong ví dụ trên, biến s đại diện cho mỗi đối tượng Student trong danh sách sinh viên, do đó, các bạn có thể lấy được tên sinh viên để put vào danh sách tên sinh viên.

Kết quả:

Chuyển đổi đối tượng sang kiểu dữ liệu khác sử dụng Lambda Expression và Stream trong Java

 

2 thoughts on “Chuyển đổi đối tượng sang kiểu dữ liệu khác sử dụng Lambda Expression và Stream trong Java

Add Comment