cuốn sách gpt4 ai đã làm

java - Stream.max(Integer::max) :意外结果

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:01:26 26 4
mua khóa gpt4 Nike

tôi đang học 1z0-809 : Lập trình viên Java SE 8 IISử dụng thử nghiệm mô phỏng của Enthuware.

Gặp phải vấn đề này.

Danh sách ls = Arrays.asList(3,4,6,9,2,5,7);

System.out.println(ls.stream().reduce(Integer.MIN_VALUE, (a, b)->a>b?a:b));
System.out.println(ls.stream().max(Integer::max).get()); //2
System.out.println(ls.stream().max(Integer::compare).get()); //3
System.out.println(ls.stream().max((a, b)->a>b?a:b)); //4

Câu lệnh nào ở trên sẽ in ra số 9?

Câu trả lời là

1 và 3

Nhưng có một cái gì đó khác. Tôi không hiểu tại sao

System.out.println(ls.stream().max(Integer::max).get());

我尝试使用 nhìn trộm Gỡ lỗi nó nhưng nó không giúp tôi hiểu.

我尝试使用 Số nguyên::tối đaSố nguyên::so sánh Phải ls 进行排序

ls.sort(Số nguyên::max); // [3, 4, 6, 9, 2, 5, 7]
ls.sort(Số nguyên::so sánh); // [2, 3, 4, 5, 6, 7, 9]

tất nhiên là tôi biết Số nguyên::tối đa không phải là một bộ so sánh, vì vậy nó có cùng chữ ký. đối với tôi,max Trong trường hợp đầu tiên nó phải là 7, vì nó là phần tử cuối cùng, như tôi sử dụng Số nguyên::so sánh

Tương tự như khi sắp xếp>

Ai đó có thể chia nhỏ điều này thành một cái gì đó đơn giản?

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress