본문 바로가기
java || spring boot

BitSet 이란? in java

by 정구지개발자 2025. 2. 3.
728x90

BitSet이란?)

자바에서 BitSet란 플레그를 비트로 계산할수 있도록 해주는 메서드 이다. 

BitSet으로 선언하면 

BitSet의 크기는 동적으로 조절된다.
따로 초기화시에 자바에서 size를 지정하지 않았다면 default size 는 8byte 이다.

 

why? 사용?)

보통 플래그를 int로 선언해서 int plag  = 0; 이라고 한다면 int값인 4byte가 소모된다. 

boolean 자료형의 경우 1byte(= 8bit)의 메모리가 필요한 반면,

비트로 저장하면 1bit만 사용한다. 

동적 계산법 (DP : Dynamic Programming)에 유리

boolean 배열 처럼 사용할 수 있다!!

 

 

선언)

import java.util.*;

 

BitSete bs = new BitSet(); 

 

선언할떄 위와 같이 선언해 준다.

 

도구들)

bs.get(숫자);

: 숫자에 해당하는 비트가 true 냐 false냐 판별해라 라는 의미

 

bs.set(숫자);

: 숫자에 해당하는 비트를 true로 만들어줌 기본적으로 false 로 되어 있음!

 

bs.clear(숫자);

: 숫자에 해당하는 비트를 false로 만들어준다.

 

bs.isEmpty();

: 비트가 모두 false로 되어있냐 확인해 준다. 맞으면 true 틀리면 false

 

예제들)

import java.util.BitSet;

public class test {

	public static void main(String[] args) {
		BitSet bs = new BitSet();
		
		bs.get(1);
		System.out.println(bs.get(1));
		
		bs.set(1);
		System.out.println(bs.get(1));
		
		bs.get(1);
		System.out.println(bs.get(1));

		bs.clear(1);
		System.out.println(bs.get(1));
		
		bs.get(1);
		System.out.println(bs.get(1));
        
        bs.isEmpty();
        System.out.println(bs.isEmpty());
	}

}

차례대로 

false
true
true
false
false

true

가 출력 된다. 

 

 

 

 

728x90

댓글