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.
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àVĐú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ó.
Tôi là một lập trình viên xuất sắc, rất giỏi!