Vector 2 [Java] Collection - (2) List란? List는 대표적인 선형 자료구조로 각 요소가 삽입되는 위치를 정밀하게 제어할 수 있다는 특징이 있습니다. 사용자는 목록의 위치를 기준으로 요소에 접근하고 목록에서 요소를 검색할 수 있습니다. 배열과 비슷하지만 배열은 공간이 고정적이지만 List는 요소의 갯수에 따라 동적으로 크기를 변화시켜 사용할 수 있습니다. List는 일반적으로 중복 요소를 허용합니다. 좀 더 구체적으로, List는 일반적으로 a.equals(b)와 같은 a과 b 요소의 쌍을 허용하며, 일반적으로 null조차 중복으로 여러 null 요소를 저장할 수 있도록합니다. 또, List의 요소에 대한 추가, 제거, 동등 및 해시코드 메서드를 지원합니다. List를 상속한 대표적은 클래스는 ArrayList, LinkedList, Vector.. Language/Java 2021. 11. 12. [Algorithm] Vector Vector는 ArrayList와 동일한 내부구조를 가지고 있습니다. ArrayList와 마찬가지로 Vector 내부에 값이 추가되면 자동으로 크기가 조절되며 그다음 객체들은 한 자리씩 뒤로 이동됩니다. 하지만 Vector와 Arraylist의 한가지 다른 점이 있는데 Vector는 동기화된 메소드로 구성되어 있기 때문에 멀티 스레드가 동시에 이 메소드들을 실행할 수 없고, 하나의 스레드가 실행을 완료해야만 다른 스레드들이 실행할 수 있습니다. 그래서 멀티 스레드 환경에서 안전하게 객체를 추가하고 삭제할 수 있습니다. 단점 벡터는 항상 동기화되는 장점이자 단점을 가지고 있습니다. 스레드가 1개일때도 동기화를 하기 때문에 ArrayList보다 성능이 떨어집니다. Arraylist는 기본적인 기능은 벡터와 .. Algorithm 2021. 10. 6. 이전 1 다음