본문 바로가기
반응형

HashMap3

SparseArray 가 무엇인가요? HashMap의 키값으로 Integer를 사용하면, Android스튜디오가 퍼포먼스 향상을 위해서 SparseArray를 사용하라고 하는 것을 본적이 있으신가요?저도 종종 보게되는데요. 오늘은 이 SparseArray에 대해서 간단히 정리해보도록 하겠습니다. 1. SparseArray SparseArray는 integer값을 Objects에 매핑을 해주는 것인데요.특이한 점은, 각 인덱스 사이에 공간을 만들수 있다는 것입니다.(예를 들면, 1~10번에 아이템들이 있고, 그다음에 11~20번은 비우고, 30~40번에 아이템들을 넣을 수 있다는 것이죠.) 성능향상을 위해서 SparseArray는 데이터가 지워지면, deleted로 표시하고 그 공간을 비워놓습니다.(물론, 지워진 데이터의 키값을 주고 데이터를.. 2017. 3. 29.
Java Wrapper 클래스 를 정리해 보자 안드로이드 프로그래밍을 하다보면,Wrapper Class를 사용하게 되는 경우가 많이 있습니다.HashMap이나 Generic, 혹은 ArrayList를 사용할 때 인데요. 오늘은 Java의 WrapperClass에 대해서 정리해보겠습니다. 1. Wrapper Class Java 개발을 할 때, 무심코 사용하던 Wrapper Class란 말은,사실은 기본형(Primitive) 타입을 Wrap해서 쓰는, Primitive Wrapper Class를 지칭한다고 볼 수 있습니다. 실제로 Wrapper Class는, Primitive Wrapper Class뿐만이 아니라, 어떤 Class를 Wrap(포장)해서 사용하는 Class를 가르키는 것 입니다.하지만, 이 글에서도, Wrapper Class를,자바의 Pr.. 2017. 3. 7.
Java Map인 HashMap, TreeMap, LinkedHashMap 에 대해서 정리해 보자. 안드로이드 프로그래밍을 하면서 Map을 사용하게 되는 경우가 종종 있는데요.Java 에서 제공해주는 Map에는 HashMap, TreeMap, LinkedHashMap 이 있는데요.이들에 대해서 한번 정리해보겠습니다. 1. HashMap HashMap의 소스코드는 길어서 다 볼수는 없지만, 간단한 주석이 들어있는 앞부분을 참조해보겠습니다.눈이 띄는 부분들을 정리해보면 다음과 같네요.인자로, null값이 허용되는 key,value값을 로 허용한다.해쉬맵의 순서는 정해져있지 않으므로, 정해진 순서대로 iterate을 하고 싶다면, LinkedHashMap을 사용할 것여러 워커 쓰레드를 사용하는 경우, 자동으로 동기화되지 않으므로, synchronized를 해야할 필요가 있다.Serializable을 사용하므.. 2017. 2. 12.