오늘은 새로운 심화 프로젝트를 시작했다. Trello같은 협업 툴을 만드는 일이었는데, 나는 Board에 들어가면 있는 Card들을 들고있는 Column들의 CRUD그리고, Column을 원하는 위치로 이동시키는 특수 기능까지 일단 만들기로 했다.
문제
일단 문제는 어떤 방법을 사용해서 Column들의 위치를 이동시키는 API를 만들것인지이다.
시도
- 먼저 시도해 본것은 ArrayList를 이용해 Column객체마다 index값을 갖게하고, 해당 index값이 Column들의 순서가 된다.
그 뒤 해당 인덱스 번째 객체와 현재 인덱스번째 객체를 인덱스를 바꾸어 순서를 바꿔준다는 생각이었다. - 두번째는 첫번째 방법을 시도하려다 튜터님에게 들은 방법으로 LinkedList를 이용하는 방법이다.
오늘 LinkedList를 공부해봤는데, ArrayList보다 전체 검색은 느리지만, 추가 삭제 같은 중간에 개입을 해야하는 작업은 훨씬 효율적인 Collection이었다.
해결
아직 해결은 못 했지만 LinkedList라는 힌트를 얻어 LinkedList로 만들어볼 생각이다. 내일..
알게된 것
프로그램에 정답은 없고 여러 방법으로 만들 수 있지만 어려워도 더 나은 방법을 찾는 것이 맞다는 생각을 했다.