속성으로 객체를 찾아야합니다.해시 맵을 사용하여 개체 목록을 인덱싱하는 것이 좋습니까?
하나의 옵션은 개체 배열을 반복하고 속성이 일치하는 각 개체를 확인하는 것입니다.
다른 옵션은 특성을 키로 사용하여 개체를 해시 맵에 배치하는 것입니다. 그러면 속성을 사용하여 객체를 검색 할 수 있습니다.
두 번째 옵션은 속성 데이터를 복제 했음에도 불구하고 좋은 방법입니까?
참고 :이 속성은 고유 한 것으로 간주됩니다.
속성으로 객체를 찾아야합니다.해시 맵을 사용하여 개체 목록을 인덱싱하는 것이 좋습니까?
하나의 옵션은 개체 배열을 반복하고 속성이 일치하는 각 개체를 확인하는 것입니다.
다른 옵션은 특성을 키로 사용하여 개체를 해시 맵에 배치하는 것입니다. 그러면 속성을 사용하여 객체를 검색 할 수 있습니다.
두 번째 옵션은 속성 데이터를 복제 했음에도 불구하고 좋은 방법입니까?
참고 :이 속성은 고유 한 것으로 간주됩니다.
예! 당신이 제시 한 것부터 일반적으로 맵을 사용하는 것이 항상 낫습니다. Map에서 키를 찾는 것은 O (1)입니다. 배열 또는 목록에서 요소를 찾는 것은 O (n)입니다.
한 가지 기억해야 할 점은 객체가 많이있는 경우지도가 자주 반복해서 작성해야하며 값이 비싸다는 것입니다. – hvgotcodes
@hvgotcodes 아직 O (1)을 상각합니다. 그리고 그렇지 않더라도,지도를 재배하는 것은 여전히 O (N)입니다. – Voo
확신할만한 그 무언가 – hvgotcodes
속성이 고유하고 검색 할 개체가 많거나 많이 검색해야하는 경우 - 색인을 만드십시오. 그것은 종종 균형을 이룹니다.
OTOH, 개체가 많지 않거나 많이하지 않는 경우 어느 쪽이든 상관 없습니다.
다릅니다. 당신이 그것을 찾은 후에 어떻게 사용합니까? 속성이 변경되지 않는 것이 좋습니다. 변경하려는 경우가 아닐 수도 있습니다. –