2015. 7. 9. 10:30
  1. SparseArray

    • SparseArray는 Map과 사용방법이 같으며, 안드로이드에서 제공한다. (안드로이드에서는 HashMap보다 SparseArray의 사용을 권장한다.)
    • SparseArray는 Key가 int, long, boolean 으로 Object가 아닌 Primitive type으로 강제되어 있으며, 이는 Integer, Float 등 Wrapper 클래스의 대한 boxing,unboxing 오버헤드와 Object의 대한 메모리 소모를 줄일 수 있다.
    • SparseArray의  Key는 유일해야 한다. 내부 소스를 잠시 본 결과 Key가 같은경우 데이터를 덮어 씌운다.
    • SparseArray는 찾기 알고리즘으로 binarySerch를 사용한다. 
    • 클래스 관계도를 보면 Collection을 구현하고 있지 않으므로 사용시 주의해야 한다.

  2. 결론 
    • 많은 데이터를 Map의 사용방법으로 쓰고자 할 때 SparseArray 사용을 생각해 보자.
    • HashMap을 사용하는 경우 Java가 지원하는 표준 컬렉션으로 이점이 아예없는 것이 아니기 때문에, 데이터의 크기가 많지 않은경우 HashMap을 사용하는 것도 나쁘지는 않다



출저 : http://freegramer.tistory.com/16  자유로운 프로그래머

Posted by hoonihoon