키 (단어)와 값 (정수)으로 구성된 해시 맵이 있습니다.해시 맵에서 정지 단어 제거
해시 맵에서 불용어를 제거해야합니다. 본질적으로, 나는 67 단어에 대해 hMap.remove ("then"), hMpa.remove ("where")를 수행해야한다. 그것을하는 더 쉬운 방법 있는가? 한 번의 획으로 해시 맵에서 여러 개의 키를 삭제할 수 있습니까?
키 (단어)와 값 (정수)으로 구성된 해시 맵이 있습니다.해시 맵에서 정지 단어 제거
해시 맵에서 불용어를 제거해야합니다. 본질적으로, 나는 67 단어에 대해 hMap.remove ("then"), hMpa.remove ("where")를 수행해야한다. 그것을하는 더 쉬운 방법 있는가? 한 번의 획으로 해시 맵에서 여러 개의 키를 삭제할 수 있습니까?
사용 hMap.keySet().removeAll(the_stuff_you_want_to_remove)
에서
세트가,는, Iterator.remove, Set.remove, removeAll, 나 retainAll를 통해지도에서 해당 매핑을 삭제하는 요소 삭제 처리를 지원하고 명확한 조작.
hMap.keySet(). removeAll ("then", "where", "apple")과 비슷합니까? – user2623946
@ user2623946 67 개 용어로 구성 할 수있는 콜렉션을 전달해야합니다. –
@ user2623946 아니요, 모두 제거하면 컬렉션을 매개 변수로받습니다. – Gamb
다음은 도움이 될 것입니다.
Map<String, Integer> ohm = new HashMap<String, Integer>();
List<String> al = new ArrayList<String>();
al.add("One");
al.add("Two");
ohm.put("One", 1);
ohm.put("Two", 2);
ohm.put("Three", 3);
ohm.keySet().removeAll(al);
System.out.println(ohm); // Output: [Three = 3]
희망이 도움이됩니다.
@ user2623946 아니요, 컬렉션을 사용해야합니다. 또는 이와 비슷한 내용 :
String[] arr = {"a","b","c"};
myMap.keySet().removeAll(Arrays.asList(arr));
아니요, 목록에 단어를 추가하고 루프별로 각 단어를 삭제하십시오. –