본문 바로가기

프로그래밍/안드로이드

자바, 안드로이드 BitSet

true, false값을 저장하기 위해 보통 boolean 타입을 사용한다.

boolean은 1바이트 = 8bit이다. 

매우매우 작은 값이긴 하나 프로그램이 방대해지면 말이 달라진다.

조금이라도 메모리를 아끼기 위해서 boolean대신 쓸 쑤 있는 "BitSet"이란 클래스가 있다.

BitSet클래스는 하나의 true/false를 위해 오직 1bit만 차지한다. boolean의 1/8값이다.

사용법은 아래와 같다.



1
2
3
4
5
6
7
8
9
10
11
12
 
BitSet bitSet = new BitSet();
 
//bitSet(0)은 true값을 가진다. set하지 않은 bitSet(1)은 false값을 가진다.
bitSet.set(0);
 
//bitSet.flip(0)은 bitset.get(0)의 값을 뒤집는다.
//그러니까 이 예제에서는 bitSet.get(0)의 값은 true에서 false로 바뀐다.
bitSet.flip(0);     //false
 
 
 
cs