Java 8 Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/java-8 Cao Đẳng FPT M?ng c c??c bng ? tuyển sinh theo hình thức xét tuyển h?sơ. Tiêu chí đào tạo: Thực học ?Thực nghiệp! Thu, 07 Sep 2023 04:37:50 +0000 vi hourly 1 //wordpress.org/?v=6.4.1 //westview-heights.com/wp-content/uploads/cropped-logo-fpt-32x32.png Java 8 Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/java-8 32 32 Java 8 Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tin-tuc-poly/tin-da-nang/functional-interface-va-bieu-thuc-lambda-trong-java-8.html Tue, 29 Aug 2023 03:54:54 +0000 //westview-heights.com/?p=252204 Trong java 8, lambda expression cùng với Functional interface là một b?đôi được s?dụng rộng rãi v?các tính năng ưu việt và tối giản code, giúp tăng tính đọc hiểu cho d?án. Hãy cùng tìm hiểu ...

The post Functional Interface và biểu thức Lambda trong Java 8 appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
Trong java 8, lambda expression cùng với Functional interface là một b?đôi được s?dụng rộng rãi v?các tính năng ưu việt và tối giản code, giúp tăng tính đọc hiểu cho d?án. Hãy cùng tìm hiểu sâu hơn v?lambda expression và functional interface trong bài viết dưới đây nhé!

Ngoài ra lambda expressio n cùng với Functional interface là một phần không th?xíu trong Stream api đ?triển khai các tính năng như sắp xếp, lọc, loop, map etc.

Functional interface

 Functional Interface là một interface chứa duy nhất một abstract method. Một functional interface có th?có nhiều default method nên các bạn đừng nhầm tưởng rằng functional interface lại có nhiều method th?kia nhé, nó ch?có một abstract method duy nhất thôi!

Annotation @FunctionalInterface đặt ?đầu interface cho chúng ta d?dàng nhận biết nó là một functional interface. Điều quan trọng là annotation @FunctionalInterface s?đảm bảo cho interface của chúng ta ch?có duy nhất một abstract method. Nếu chúng ta khai báo nhiều hơn một abstract method trong interface được đánh dấu @FunctionalInterface thì chúng ta s?nhận được lỗi ‘Unexpected @FunctionalInterface annotation?

Toán t?mũi tên (->)

Java 8 giới thiệu một toán t?mới là toán t?mũi tên ->. Toán t?này được dùng trong biểu thức Lambda với mục đích chia biểu thức Lambda thành 2 phần: tham s?và nội dung thực thi

Ví d?

Các tính năng của lambda expression

Biểu thức lambda expression có th?dùng đ?triển khai một hàm ẩn danh (hàm không có tên, ch?chứa tham s?và mã code triển khai).

Cú pháp lambda expression

Biểu thức Lambda trong java gồm có 3 thành phần sau:

    • Argument-list: danh sách tham s? có th?không có, có một hoặc nhiều tham s?
    • Arrow-operator: toán t?mũi tiên được s?dụng đ?liên kết danh sách tham s?và body của biểu thức.
  • Body: Thân hàm, có th?tr?v?giá tr?hoặc không.

Ví d?1: S?dụng lambda với Collection

Ví d?2: S?dụng lambda với Functional interface không chứa tham s?/b>

Ví d?3: S?dụng lambda với Functional interface chứa nhiều tham s?/b>

B?môn Ứng dụng Phần mềm
Trường Cao đẳng FPT M?ng c c??c bng ? cơ s?Đà Nẵng

The post Functional Interface và biểu thức Lambda trong Java 8 appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
Java 8 Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tin-tuc-poly/ha-noi-tin-sinh-vien/su-dung-streams-filter-trong-java-8.html //westview-heights.com/tin-tuc-poly/ha-noi-tin-sinh-vien/su-dung-streams-filter-trong-java-8.html#respond Mon, 30 Jan 2023 03:59:26 +0000 //westview-heights.com/?p=207121 Đ?tr?thành một k?sư IT chuyên nghiệp, bạn nên biết đến Streams filter trong Java 8. Hãy tìm hiểu k?hơn v?cách s?dụng stream  filter(),collect(),findAny() hoặc orElse() trong bài viết dưới đây nhé! Trong Java 8 ...

The post S?dụng Streams filter trong Java 8 appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
Đ?tr?thành một k?sư IT chuyên nghiệp, bạn nên biết đến Streams filter trong Java 8. Hãy tìm hiểu k?hơn v?cách s?dụng stream  filter(),collect(),findAny() hoặc orElse() trong bài viết dưới đây nhé!

Trong Java 8 h?đã thêm stream api, nó tương t?như collection. Điều này khiến cho việc viết code s?thuận tiện và chuyên nghiệp hơn!

 

1. Streams filter() và collect()

  • Trước java 8,chúng ta filter ?lọc một danh sách như sau:
public class BeforeJava8 {

 

public static void main(String[] args) {

 

List<String> lines = Arrays.asList(“spring”, “boot”, “hibernate”);

List<String> result = getFilterOutput(lines, “hibernate”);

for (String temp : result) {

System.out.println(temp);    //output : spring, node

}

 

}

 

private static List<String> getFilterOutput(List<String> lines,String filter) {

List<String> result = new ArrayList<>();

return result;

for (String line : lines) {

if (!”hibernate”.equals(line)) { //lọc các giá tr?khác “hibernate”

result.add(line);

}

}

}

 

}

  • Trong java 8 ta s?dụng stream.filter() đ?filter một list và collect() đ?convert một stream thành một list:
public class NowJava8 {

 

public static void main(String[] args) {

 

List<String> lines = Arrays.asList(“spring”, “boot”, “hibernate”);

List<String> result = lines.stream() // convert list thành stream

.filter(line->!”hibernate”.equals(line))//lấy giá tr?khác “hibernate?/p>

.collect(Collectors.toList());//nhóm output và convert streams thành List

result.forEach(System.out::println);//output : spring, node

}

}

2. Streams filter(), findAny() and orElse() tạo một lớp Person

public class SinhVien {

private String ten;

private int tuoi;

public SinhVien(String ten, int tuoi) {

this.ten = ten;

this.tuoi = tuoi;

}

//gettersm setters, toString

}

  • Nếu trước java 8, nếu muốn tìm một người tên “Khue?thì ta có th?làm như sau:
public class BeforeJava8 {

public static void main(String[] args) {

List<SinhVien> dsSinhVien = Arrays.asList(

new SinhVien(“Duy”, 18),

new SinhVien(“Diep”, 18),

new SinhVien(“Hung”, 19)

new SinhVien(“Khue”, 20)

);

SinhVien rs = timSinhVienBangTen(dsSinhVien, “Khue”);

System.out.println(result);

}

private static SinhVien timSinhVienBangTen(List<SinhVien> sinhviens, String ten) {

SinhVien result = null;

for (SinhVien temp : sinhviens) {

if (ten.equals(temp.getTen())) {

result = temp;

}

}

return result;

}

}

  • Trong java 8 ta s?dụng stream.filter() đ?filter một List, và .findAny().orElse (null) đ?tr?lại một đối tượng:
public class NowJava8 {

 

public static void main(String[] args) {

List<SinhVien> dsSinhVien = Arrays.asList(

new SinhVien(“Duy”, 18),

new SinhVien(“Diep”, 18),

new SinhVien(“Hung”, 19)

new SinhVien(“Khue”, 20)

);

SinhVien result1 = dsSinhVien.stream()// Convert thành steam

.filter(x -> “Khue”.equals(x.getTen()))// lọc ra đối tượng tên “Khue?/p>

.findAny()// nếu tìm thấy bất k?đối tượng nào tr?v?giá tr?tìm được

.orElse(null);// nếu không tìm thấy tr?v?null

 

System.out.println(result1);

 

SinhVien result2 = dsSinhVien.stream()

.filter(x -> “Duy”.equals(x.getTen()))// lọc ra đối tượng tên “Duy?/p>

.findAny()// nếu tìm thấy bất k?đối tượng nào tr?v?giá tr?tìm được

.orElse(null);// nếu không tìm thấy tr?v?null

 

System.out.println(result2);

 

}

 

}

  • Streams filter() and map() dùng đ?lọc ra đối tượng theo tiêu chí đưa ra và hiển th?kết qu?đối tượng tìm được theo một dạng d?liệu khác:
public class NowJava8 {

public static void main(String[] args) {

 

List<SinhVien> dsSinhVien = Arrays.asList(

new SinhVien(“Duy”, 18),

new SinhVien(“Diep”, 18),

new SinhVien(“Hung”, 19)

new SinhVien(“Khue”, 20)

);

String name = dsSinhVien.stream()

.filter(x -> “Hung”.equals(x.getTen()))

.map(SinhVien::getName) //convert stream thành String, lấy ra tên

.findAny()

.orElse(“”);

System.out.println(“name : ” + name);

List<String> collect = persons.stream()

.map(Person::getName)

.collect(Collectors.toList());

collect.forEach(System.out::println);

}

}

Qua một s?hướng dẫn trên, hy vọng bạn đã biết cách s?dụng Streams filter trong Java 8 một cách thành thạo đ?giúp cho công việc tr?nên d?dàng và thuận lợi hơn!

B?môn Công ngh?thông tin

Cao đẳng FPT M?ng c c??c bng ? Hà Nội

The post S?dụng Streams filter trong Java 8 appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
//westview-heights.com/tin-tuc-poly/ha-noi-tin-sinh-vien/su-dung-streams-filter-trong-java-8.html/feed 0