Tôi có một số Map<String,String>
với số lượng lớn các cặp giá trị khóa. Bây giờ tôi muốn xóa các khóa đã chọn khỏi số Map
. Đoạn mã sau cho thấy những gì tôi đã làm để đạt được điều đó.Xóa nhiều khóa khỏi Bản đồ theo cách hiệu quả?
Set keySet = new HashSet(); //I added keys to keySet which I want to remove.
Sau đó:
Iterator entriesIterator = keySet.iterator();
while (entriesIterator.hasNext()) {
map.remove(entriesIterator.next().toString());
}
này đang làm việc. Tôi chỉ muốn biết, cách nào tốt hơn để đạt được yêu cầu của tôi?
đề xuất của bạn thật tuyệt vời. Tôi đoán removeAll (keySet) đang làm những gì tôi đã làm ở đó –
về mặt "hiệu quả" của nó có lẽ chỉ là một vòng lặp bên dưới, nhưng về mã sạch hơn, giành chiến thắng tốt đẹp :) – rogerdpack
thaks, tôi sử dụng retainAll – shareef