지도를 반복하고 특정 키를 필터링하는 가장 좋은 방법은 무엇입니까? 이 거대한 맵과 거대한 세트의 경우, 의사는 나 ', 동등하게지도를 반복하면서 키를 필터링하는 중
답변
val m = Map(1 -> "a", 2 -> "b", 4 -> "c", 10 -> "d")
val s = Set(1,4)
m.filterKeys { s.contains(_) == false }
// Map(2 -> b, 10 -> d)
브루스
map.foreach(tuple where !list.contains(tuple._1) => { })
감사 같을 그러나 수 우선 그들을 정렬하고 그들을 반복하면서, 당신이 갈 때 필요한 비트를 집어내는 것이 좋습니다. contains
에 대한 반복 호출은 특히 대신 List
을 사용하는 경우 원하는대로 잘 수행되지 않을 수 있습니다.
좋은 대답; '(! s.contains (_))'는 다소 짧습니다. –
@Derek Wyatt. 좋은 지적. 아마도 나는 필터링이 매번 같을 것이므로 항목을 제외하는 두 번째 맵을 고려해야합니다. –
@ 브루스 퍼거슨. 내가 한 말을 소금 한알로 가져 가라. 조숙 한 최적화는 많은 악의 뿌리입니다. –
map.withFilter{tuple => !list.contains(tuple._1)}.foreach{whatever}
for(tuple <- map if !list.contains(tuple._1)) whatever
이것은 질문에 대한 답변입니다. – kap
이 질문은 asked and answered before을하고있다 :
이 Set[A]
함수 A => Boolean
이 사실을 사용하여, 당신은 할 수 있습니다 :
map filterKeys s
감사합니다. 제출하기 전에 보았지만 이것을 보지 못했습니다. 건배, 브루스 –
목록이 아니라 집합이고 목록에없는 사람들이 필터링하려고한다는 점만 제외하면 –
- 1. XmlDocument를 XPathNodeIterator로 반복하면서 수정하는 중
- 2. MIDP TextField에서 키를 필터링하는 방법?
- 3. VBA에서 워크 시트를 반복하면서 범위를 선택하는 중
- 4. Python : 목록을 반복하면서 항목 중 일부를 반복하십시오.
- 5. 지도를 그릴 때 "대기 중"에 해당하는
- 6. 사전 중 NSMutableArray를 필터링하는 방법?
- 7. 해시를 반복하면서 고유 키를 추출하고 값을 추가하려고 시도합니다.
- 8. Morphia로지도 키를 쿼리하는 중
- 9. ANDROID :지도를 설정하기 위해 디버깅 키를 얻는 데 도움이 필요합니다.
- 10. Java 및 JSP로 행을 반복하면서 데이터를 손실하는 중
- 11. 전화 중 안드로이드 전화 중 키를 클릭하십시오
- 12. 지도를 추가하십시오.
- 13. django에서 역방향 forein key를 필터링하는 중
- 14. 다른 쿼리 결과로 쿼리 결과를 필터링하는 중
- 15. Java 7 watcherservice - 볼 파일을 필터링하는 중
- 16. 텍스트를 추가 할 수있는 문자를 필터링하는 중
- 17. Elmah 오류 메일에서 신호 예외를 필터링하는 중
- 18. std :: map에 반복하면서 삽입하는 중입니까?
- 19. 반복하면서 해시에 추가
- 20. Ruby에서 키보드에서 키를 읽는 중
- 21. 개체의 키를 동적으로 설정하는 중
- 22. 지도를 C++의 템플릿 함수에 전달하는 중 오류가 발생했습니다.
- 23. 데이터 집합의 모든 요소를 반복하면서 특정 키에 맞는 레코드에 대해 큰 데이터 집합을 필터링하는 방법
- 24. jQuery : keypress 이벤트에서 문자가 아닌 키를 필터링하는 방법은 무엇입니까?
- 25. 마스터 모델을 기반으로 인라인 된 외래 키를 필터링하는 방법
- 26. ADO.NET Data Services : 외래 키를 기반으로 엔터티를 필터링하는 방법?
- 27. 루비 - 루프를 반복하면서 변수를 보호하십시오.
- 28. 좌표를 반복하면서 새로운 좌표를 추가합니다.
- 29. Sqlite 데이터베이스에 추가하기 ArrayList를 반복하면서
- 30. jquery에서 요소 세트를 반복하면서 반복
은 기존 변경, 그 키를 사용하지 않는 새로운 맵을 만드시겠습니까 그 키를 제거하거나, 그 키를 제외한 모든 키/값에 대해 몇 가지 작업을 수행하여 맵을 변경할 수 있습니까? –
@ DanielC.Sobral 마지막 옵션입니다. 최대 2000 개의 전체 항목과 최대 약 20 개의 제외 된 키가있는지도입니다. 지도는 자주 업데이트됩니다 (제외 된 키와 포함 된 키 모두).하지만이 특정 작업에 포함 된 키만 액세스하고 싶습니다. 따라서 메모리 및 업데이트 고려 사항에 대한 단일 맵을 선호합니다. –
가능한 복제본 [키 집합 별 필터 맵] (0120-558-100)/ –