자바는 다양한 컬렉션(Collection)을 제공한다. 같은 기능을 동작하는 코드여도 어떤 컬렉션을 사용했는지에 따라 성능 차이가 크게 날수있다. 이 차이는 데이터가 많아질수록 커질것이다. 따라서 컬렉션들의 특징과 각 연산의 수행시간을 고려해서 가장 적합한 컬렉션을 정하는것이 중요하다. 다음은 자바 컬렉션의 시간복잡도를 정리한 표이다. List add() remove() get() contains() Data Structure ArrayList O(1) O(n) O(1) O(n) Array LinkedList O(1) O(1) O(n) O(n) Linked List CopyonWriteArrayList O(n) O(n) O(1) O(n) Array Set add() contains() next() Dat..