SizeSequence
SizeSequence (크기 시퀀스)
크기와 해당 위치의 정렬된 목록을 효율적으로 유지하는 객체입니다.
본문
여러 행의 높이가 서로 다른 컴포넌트에 적합합니다. 예를 들어 하나의 SizeSequence 객체로 모든 행의 높이와 Y 위치를 추적할 수 있습니다. JTable처럼 열 크기가 모두 같지 않은 다중 열 컴포넌트에서도 쓰이며, 모든 열의 너비와 X 위치를 저장하는 데 사용할 수 있습니다.
SizeSequence는 축을 따라 간격(interval)을 단순히 나타냅니다. 예시에서는 간격이 픽셀 단위의 높이나 너비를 뜻하지만, 다른 어떤 측정 단위(예: 일 단위의 시간)도 유효합니다.
내부적으로 N개의 정수 배열을 보관하되 크기 기반과 위치 기반 사이의 절반인 하이브리드 인코딩을 사용합니다. 그 결과 같은 공간을 차지하면서도 대부분의 연산을 O(N) 대신 Log(N) 시간에 수행합니다. getIndex(position)와 setSize(index, size) 같은 연산이 대표적입니다. Since: 1.3
주요 메서드·상세 (Methods & details)
주요 메서드는 위치를 포함하는 인덱스를 찾는 getIndex(int), 인덱스의 위치를 얻는 getPosition(int), 크기를 얻거나 설정하는 getSize(int)/setSize(int, int), 전체 크기 배열을 얻거나 설정하는 getSizes()/setSizes(int[]), 항목을 삽입·제거하는 insertEntries(int, int, int)/removeEntries(int, int)입니다.