반응형
동접 그래프를 만들일이 있어서, 차트 라이브러리를 찾던 도중에 어떤 자료구조를 사용할지에 대해 고민을 하게 되었다.
사용될 자료구조의 요구조건은 다음과 같다.
1. 사이즈가 fix되어 있어야 함.
2. 데이터가 순차적으로 들어가야 함.
3. fix된 사이즈가 초과되면, 저장되어 있던 데이터들을 하나씩 뒤로 밀고 새로운 것을 앞에다가 넣어주어야 함.
java에서 제공하는 Collection만 보았을 때는 2번의 경우 LinkedList를 사용하면 되고, 3번의 경우 Queue를 사용하면 되는데..
1번이 문제였다. 결국 만들어야 하는 상황이 왔는데, 귀찮아서 이리저리 검색을 해보니.. Google Guava Library에서 EvictingQueue라는 훌륭한 자료구조를 제공해주고 있었다.
아래와 같이 사용하면, 위 1~3번의 조건을 모두 만족하는 자료구조가 만들어진다.
EvictingQueue<T> queue = EvictingQueue.create(size);
뭐 굳이 만드는걸 좋아하는 분들은 만드는 것도 나쁘진 않겠지만..
내가 만드는거보단 google code에 올라가 있는 library가 더 안정적이겠지하고 이걸 가져다 쓰기로 했음.
앞으로 자주 사용하게 될 것 같다.
반응형
'개발 > Java' 카테고리의 다른 글
[Gson] TypeAdapter (0) | 2016.06.10 |
---|---|
[UUID] 분산 데이터베이스 환경에서의 UUID 발급 (0) | 2016.06.10 |
[Eclipse] MoonRise Theme (0) | 2016.06.10 |
[Eclipse] Check for Updates에서 Repository를 못찾고 에러가 발생하는 경우 (0) | 2016.06.10 |
[Lambda] collect 함수 사용 시 주의점 (0) | 2016.06.10 |