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

java - Map.Entry.comparingByValue() 中 的重要性是什么

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 09:22:47 28 4
mua khóa gpt4 Nike

Tôi đang cố gắng sắp xếp các phần tử theo tần số của chúng

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
nhập java.util.*;
nhập java.util.stream.Collectors;

Giải pháp lớp công khai {

public static void main(String[] args) ném IOException {
BufferedReader br = BufferedReader mới(InputStreamReader mới(System.in));
int itr = Integer.parseInt(br.readLine());
for (int i = 0; i < itr; i++) {
int n = Integer.parseInt(br.readLine());

String[] val = br.readLine().split(" ");
Bản đồ bản đồ = HashMap mới<>();
cho (int j = 0; j < n; j++) {
Nhiệt độ số nguyên = Integer.parseInt(val[j]);
map.putIfAbsent(temp, 0);
map.put(temp, map.get(temp) + 1);
}

Ở đây tôi sắp xếp bản đồ dựa trên tần suất và lưu trữ dưới dạng linkedHashMap.

            Map đã sắp xếpMap = map.entrySet().stream()
.sắp xếp(
(Map.Entry.so sánhByValue())
.thenComparing(Map.Entry.comparingByKey()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(e1, e2) -> e1, LinkedHashMap::new));

for(Các mục Map.Entry : SortedMap.entrySet()){
System.out.println(entries.getKey() + " " +entry.getValue());
}
}
}


}

Sau đây đưa ra một lỗi trình biên dịch.

            Map đã sắp xếpMap = map.entrySet().stream()
.sắp xếp(
(Map.Entry.comparingByValue())
.thenComparing(Map.Entry.comparingByKey()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
(e1, e2) -> e1, LinkedHashMap::new));

Ví dụ đầu vào 164 -2 10 12 -8 4

Ví dụ đầu ra 0

-8 -2 10 12 4 4

câu trả lời hay nhất

tĩnh công khai >
Bộ so sánh<>> so sánhByValue()

là một phương pháp tĩnh và nó đòi hỏi K,VĐặt/sửa/điều chỉnh chính xác bối cảnh chung khi được sử dụng trong đó. Ngược lại, nó giả định KĐúng ObjectVĐúng Có thể so sánhđây không phải là cái gìStream<>>#sắp xếptrông chờ. Lưu ý rằng luồng được <>>từ map.entrySet() ,TRONGbản đồTham số hóa như hoặc loại kết quả bản đồ đã sắp xếp ,Ngay lập tứcBản đồ .

Map.Entry.so sánhByValue()Lời khuyên cần thiết để giải quyết vấn đề tốt được đưa ra.

Map.Entry.comparingByValue()Hiện tại, đó là một điều rất mơ hồ.

Bộ so sánh<>>>> 
bộ so sánh = soByValue();

Khi bạn đưa ra một bối cảnh chung, nó sẽ có ý nghĩa hơn.

Bộ so sánh<>>
bộ so sánh = soByValue();

Trong trường hợp của bạn, điều này quan trọng vì Map.Entry.comparingByValue()Bắt đầu chuỗi, theo sau là các phương thức phiên bản (ví dụ: sau đóSo sánh ) sẽ dựa trên tham số chung của phương thức trước đó (ở đây: so sánhByValue ) phân tích các tham số chung của chính nó.

Về java - Tầm quan trọng của trong Map.Entry.comparingByValue(), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/58113660/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
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