Get IT Note/자료구조
![](https://tistory1.daumcdn.net/tistory/2882364/skin/images/no-image.jpg)
Set List컬렉션과는 다르게 일반적으로 저장 순서가 유지되지 않음(LinkedHashSet 예외). 객체를 중복 저장 불가하고 하나의 null만 저장 가능. 수학의 집합과 같은 개념이다. Iterator를 이용하여 객체를 가져온다. Set 메소드 1. HashSet- List 인터페이스의 구현 클래스. 해쉬 테이블에 원소를 저장하기 때문에 성능면에서 가장 우수하다. 단, 원소들의 순서가 일정하지 않다. public static void main(String[] args) { Set set = new HashSet(); set.add("홍길동"); set.add("김영수"); set.add("조하아"); Iterator iterator = set.iterator(); // while 루핑 while (..
![](https://tistory1.daumcdn.net/tistory/2882364/skin/images/no-image.jpg)
List 객체를 일렬로 늘어놓은 구조. 객체를 인덱스로 관리하기 때문에 객체 저장시 자동으로 인덱스가 부여됨. 단, 객체 자체를 저장하는 것이 아니라 객체의 번지를 참조한다. List 메소드 1. ArrayList- List 인터페이스의 구현 클래스. 2. LinkedList - ArrayList와 사용방법은 똑같으나 구조는 완전히 다름. ArrayList처럼 인덱스 관리가 아닌 인접 참조를 링크해서 체인처럼 관리. 3. Vector - ArrayList와 동일한 구조. 차이점은 Vector는 동기화된 메소드로 구성되어 있어 멀티스레드가 동시에 메소드을을 실행 불가. 따라서 멀티스레드 환경에서 안전하게 객체를 추가, 삭제 가능 => Thread Safe 구분 순차적 추가, 삭제 중간 추가, 삭제 검색 A..