- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi mới sử dụng Java 8 và muốn sắp xếp Bản đồ dựa trên các khóa, sau đó sắp xếp từng danh sách theo các giá trị.
Tôi đang cố gắng tìm cách Java 8 để sắp xếp các khóa và giá trị. HashMap>Bản đồ
map.entrySet().stream().sorted(Map.Entry.comparingByKey())
.collect(Collector.toMap(Map.Entry::getKey,
Map.Entry::getValue, (e1, e2) -> e2, LinkedHashMap::new));
Tôi có thể sắp xếp Bản đồ, tôi có thể thu thập từng giá trị trong bản đồ để sắp xếp, nhưng đây là một cách chúng tôi có thể thực hiện trong java 8 và kết hợp cả hai.
câu trả lời hay nhất
Để sắp xếp theo khóa bạn có thể sử dụng Bản đồ cây
. Để sắp xếp từng danh sách theo giá trị bạn có thể sử dụng Map.values().forEach()
phương thức lặp lại các giá trị của bản đồ và sau đó sử dụng List.sort sắp xếp từng danh sách
. Đặt chúng lại với nhau:
Map>sortByKey = new TreeMap<>(yourMap);
SortByKey.values().forEach(list -> list.sort(null)); // null: thứ tự tự nhiên
cái này cho mỗi danh sáchTại chỗĐã sắp xếp, có nghĩa là danh sách ban đầu đã thay đổi.
Nếu bạn muốn tạo không chỉ bản đồ mới mà còn cả danh sách mới cho từng giá trị, bạn có thể thực hiện như sau:
Map>sortByKey = new TreeMap<>(yourMap);
SortByKey.replaceAll((k, originalList) -> {
Danh sách newList = new ArrayList<>(originList);
newList.sort(null); // null: thứ tự tự nhiên
trả về danh sách mới;
});
biên tập:
Dựa trên những gợi ý trong nhận xét, bạn có thể muốn thay đổi:
SortByKey.values().forEach(list -> list.sort(null));
Vượt qua một trong hai:
SortByKey.values().forEach(Collections::sort);
或者:
SortByKey.values().forEach(list -> list.sort(Comparator.naturalOrder()));
và sử dụng null
作为 Danh sách.sort
Một trong hai tùy chọn trên có tính biểu cảm cao hơn và thể hiện ý định của nhà phát triển theo cách tốt hơn so với đối số so sánh của phương thức.
Những cân nhắc tương tự cũng áp dụng cho các phương pháp trong đó danh sách không được sửa đổi tại chỗ.
Về Java 8 HashMap
Tôi đang cố gắng tìm hiểu Fortran và tôi đã thấy rất nhiều định nghĩa khác nhau và tôi tự hỏi liệu họ có đang cố gắng đạt được điều tương tự hay không. Sự khác biệt giữa những điều sau đây là gì? Integer*4 Integer(4) Integer(kind=4) Câu trả lời đúng nhất là ở Fortran >=90
Tôi chưa bao giờ lập trình trước đây và mới bắt đầu học gần đây (1 tuần trước)! Lớp đầu tiên là lập trình chức năng, sử dụng Haskell. Tôi có một bài tập ở trường muốn cải thiện bằng cách loại bỏ một hoặc hai bước, nhưng tôi gặp phải một lỗi khó chịu. Về cơ bản, tôi đã tạo
Đưa ra các yêu cầu và biến GraphQL sau: Yêu cầu: truy vấn tài khoản($filter:AccountFilter, $first_:String, $skip_:Int) { tài khoản
Tôi đã tìm kiếm StackOverflow nhưng không thể tìm thấy câu trả lời về cách kiểm tra biểu thức đầu vào số cho ứng dụng máy tính sẽ kiểm tra từng lần nhập khóa theo định dạng sau (phím jquery lên): bất kỳ số nguyên nào, ví dụ:
Tương tự như bài xin lỗi gần đây nhất của tôi, nhưng không dài bằng. Về cơ bản, tôi đang tự hỏi đâu là lựa chọn tốt nhất để tối ưu hóa việc vẽ lại thành JFrame/JPanel khi mỗi lệnh gọi vẽ lại chỉ vẽ lại một phần nhỏ của màn hình. Ngoài ra, tôi không hoàn toàn 100% ngoại trừ việc tải lại bản vẽ lại
Vì vậy, trong sách giáo khoa của tôi có một ví dụ về hàm đệ quy sử dụng f# let rec gcd = function (0,n) -> n | (m,n) -> gcd(n % m,m);; sách giáo khoa
Tôi có cấu trúc dữ liệu như cây biểu thức hoặc biểu đồ. Tôi muốn thêm một số chức năng "đo lường" như độ sâu và kích thước. Làm thế nào tốt nhất để gõ các chức năng này? Tôi nghĩ ba biến thể sau đây gần như hữu ích như nhau: deep :: Expr -> Int
Tốt hơn nên viết như thế này: int nguyên thủy1 = 3, nguyên thủy2 = 4; Số nguyên a = Số nguyên mới(Số nguyên1);
Tôi mới sử dụng Java 8 và muốn sắp xếp Bản đồ dựa trên các khóa, sau đó sắp xếp từng danh sách theo các giá trị. Tôi đang cố gắng tìm cách Java 8 để sắp xếp các khóa và giá trị. HashMap>Bản đồ map.entrySet().str
Đây là mục tiêu của tôi... vector,int> > var_name (x, pair (y),int>); trong đó x là kích thước của vectơ var_name và y là kích thước của vectơ cặp bên trong.
Đây là câu trả lời cho "Làm cách nào để khởi tạo một đối tượng Hàng đợi trong java?", Hàng đợi là một giao diện.
Câu hỏi này đã có câu trả lời ở đây: Quyền anh số nguyên kỳ lạ trong Java (12 câu trả lời) Tại sao số nguyên được đóng hộp tự động và .getClass() val
Chúng ta có thể làm điều gì đó như thế này bằng C++ STL không? Nếu có, tôi sẽ khởi tạo phần tử như thế nào? Tôi đã cố gắng làm điều này nhưng không thành công. pair,vector>p;p.first[0]=2; câu trả lời hay nhấtChúng ta có thể làm được không?
Xin chào, tôi đang cố gắng tìm chỉ mục cho một số trong mảng phần trăm và số nguyên. Giả sử arraynum = ['10%','250','20%','500'] và người dùng gửi giá trị 15%, con số này nằm trong phạm vi nào? Tôi có thể sử dụng cái này
Tôi có mối quan hệ với ba cột: Tên sản phẩm, ID danh mục và Giá. Tôi chỉ cần chọn những sản phẩm có giá cao hơn giá sản phẩm trung bình trong một danh mục nhất định. (Ví dụ: khi apple(ProductName) là trái cây(Cate
Tôi đã bị mắc kẹt trong vấn đề này một thời gian và tôi đang cố gắng ghép một số dữ liệu lại với nhau. Đây là mã của tôi. #include #include sử dụng không gian tên std; int main() { cặp dữ liệu(
Tôi gặp lỗi: '(Int, Int)' không giống với 'CGPoint' Cách chuyển đổi (Int, Int) sang CGPoint let zigzag = [(100,100), (100,150)
Tôi tìm thấy đoạn mã sau trong tệp .cpp. Tôi không hiểu cấu trúc hoặc cú pháp liên quan đến tệp tiêu đề. Tôi nhận thấy rằng các tệp tiêu đề cụ thể này có liên quan đến NDK của Android. Tuy nhiên, tôi nghĩ câu hỏi này là về cú pháp C++ nói chung. những điều này ở một mức độ nào đó
Tôi nhập những thứ này vào trình thông dịch Scala: val a : Integer = 1; val b : Integer = a + 1; Tôi nhận được thông báo: :5: error: type mismatch;
C++:vector>v(size); khi tôi cố in ra giá trị, nó hiển thị 0 dưới dạng giá trị nhưng khi kích thước vectơ không được khai báo thì nó hiển thị đầu ra chính xác? Tại sao lại thế này? Ví dụ: int x; cin>>x; vector>v(x);
Tôi là một lập trình viên xuất sắc, rất giỏi!