2013-08-14 6 views
0

키 (단어)와 값 (정수)으로 구성된 해시 맵이 있습니다.해시 맵에서 정지 단어 제거

해시 맵에서 불용어를 제거해야합니다. 본질적으로, 나는 67 단어에 대해 hMap.remove ("then"), hMpa.remove ("where")를 수행해야한다. 그것을하는 더 쉬운 방법 있는가? 한 번의 획으로 해시 맵에서 여러 개의 키를 삭제할 수 있습니까?

+0

아니요, 목록에 단어를 추가하고 루프별로 각 단어를 삭제하십시오. –

답변

5

사용 hMap.keySet().removeAll(the_stuff_you_want_to_remove)에서

documentation :

세트가,는, Iterator.remove, Set.remove, removeAll, 나 retainAll를 통해지도에서 해당 매핑을 삭제하는 요소 삭제 처리를 지원하고 명확한 조작.

+0

hMap.keySet(). removeAll ("then", "where", "apple")과 비슷합니까? – user2623946

+0

@ user2623946 67 개 용어로 구성 할 수있는 콜렉션을 전달해야합니다. –

+0

@ user2623946 아니요, 모두 제거하면 컬렉션을 매개 변수로받습니다. – Gamb

1

다음은 도움이 될 것입니다.

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] 

희망이 도움이됩니다.

2

@ user2623946 아니요, 컬렉션을 사용해야합니다. 또는 이와 비슷한 내용 :

String[] arr = {"a","b","c"}; 
myMap.keySet().removeAll(Arrays.asList(arr)); 
관련 문제