Sort LinkedList với Stream API

Sắp xếp là một trong những thao tác thường xuyên trong lúc code. Java đã xây dựng sẵn các hàm sắp xếp có trong LinkedList và Collections. Ở bài này, chúng ta sẽ tiếp cận nó với một cách mới mang tên stream api.

Stream api được giới thiệu trong java 8, hỗ trợ mạnh mẽ cho chúng ta việc viết code. Gồm nhiều tính năng như filter, sort, reduce etc. Sau đây chúng ta sẽ tìm hiểu chi tiết về sắp xếp LinkedList với stream api.

syntax:

Sort LinkedList tăng dần với stream api

Stream cung cấp cho chúng ta method sort() trong đường ống của nó. 

Ví dụ 1: Sắp xếp một LinkedList số nguyên tăng dần và xuất các phần tử ra màn hình console.

Output: -1 1 4 5 7 8 10 23 99

Ví dụ 2: Cho một LinkedList chứa danh sách các nhân viên gồm các thông tin sau: tên, tuổi, lương. Sắp xếp LinkedList tăng dần theo tuổi.

Output:

Cach 1
Staff{name=’H’, salary=1.0E7, age=20}
Staff{name=’B’, salary=2.5E7, age=21}
Staff{name=’I’, salary=1.0E7, age=21}
Staff{name=’P’, salary=1.0E7, age=21}
Staff{name=’K’, salary=1.5E7, age=27}
Staff{name=’F’, salary=2.0E7, age=30}
Cach 2
Staff{name=’H’, salary=1.0E7, age=20}
Staff{name=’B’, salary=2.5E7, age=21}
Staff{name=’I’, salary=1.0E7, age=21}
Staff{name=’P’, salary=1.0E7, age=21}
Staff{name=’K’, salary=1.5E7, age=27}
Staff{name=’F’, salary=2.0E7, age=30}

Sort LinkedList giảm dần với streap api

Ví dụ: Cho một LinkedList chứa danh sách các nhân viên gồm các thông tin sau: tên, tuổi, lương. Sắp xếp LinkedList giảm dần theo lương.

Output:

Cach 1
Staff{name=’B’, salary=2.5E7, age=21}
Staff{name=’F’, salary=2.0E7, age=30}
Staff{name=’K’, salary=1.5E7, age=27}
Staff{name=’H’, salary=1.0E7, age=20}
Staff{name=’I’, salary=1.0E7, age=21}
Staff{name=’P’, salary=1.0E7, age=21}
Cach 2
Staff{name=’H’, salary=1.0E7, age=20}
Staff{name=’I’, salary=1.0E7, age=21}
Staff{name=’P’, salary=1.0E7, age=21}
Staff{name=’K’, salary=1.5E7, age=27}
Staff{name=’F’, salary=2.0E7, age=30}
Staff{name=’B’, salary=2.5E7, age=21}

Sort LinkedList theo nhiều thuộc tính

Sắp xếp tăng dần các Staff theo mức lương, nếu cùng mức lương tiến hàng sắp xếp theo tuổi

Output:

Staff{name=’H’, salary=1.0E7, age=20}
Staff{name=’I’, salary=1.0E7, age=21}
Staff{name=’P’, salary=1.0E7, age=21}
Staff{name=’K’, salary=1.5E7, age=27}
Staff{name=’F’, salary=2.0E7, age=30}
Staff{name=’B’, salary=2.5E7, age=21}

‹Previous Next›

Leave a Reply

Your email address will not be published. Required fields are marked *