◼ List 인터페이스
먼저, 스택은 상자를 쌓듯이 자료를 관리하는 방법이다. 중간에 있는 상자를 꺼내기 위해서는 무너질 수 있으니 마지막 상자를 먼저 꺼내야한다. Last In First Out으로 LIFO 방식이다. 큐는 '선착순'개념이다. 줄을 선 대기열처럼 먼저 추가된 데이터부터 꺼내서 사용하는 방식으로 First In First Out, FIFO 방식이다.
◼ Set 인터페이스
순서와 상관없이 중복을 허용하지 않는 경우에는 Set 인터페이스를 구현한 클래스를 사용한다. HashSet 클래스는 집합 자료 구조를 구현하며 중복을 허용하지 않는다. 아래와 같이 두번 추가를 하여도 결과적으로 출력해보면 한번만 나타나는 것을 확인할 수 있다. TreeSet 클래스는 데이터를 추가한 후 결과를 출력하여 정렬하는 클래스이다. 이진 검색트리를 다시 한번 짚고 넘어가면 좋을 것 같다. 이진 검색 트리는 노드에 저장되는 자료의 중복을 허용하지 않고, 부모가 가지는 자식 노드의 수가 2개 이하이다. 또한 왼쪽에 외치하는 자식 노드는 부모 노드보다 항상 작은 값을 가진다. 반대로 오른쪽에 놓인 자식노드는 부모 노드보다 항상 큰 값을 가져야한다. 값을 찾을 떼 비교 범위가 평균 1/2만큼 줄어드는 효과를 볼 수 있다.
HashSet<String> hashSet = new HashSet<String>();
hashSet.add(new String("moonLab"));
hashSet.add(new String("moonLab"));
◼ Map 인터페이스
Map 인터페이스는 자료를 쌍으로 관리하는데 필요한 메서드가 정의되어 있다. python의 dictionary와 비슷하다. key-value 쌍으로 이루어진 객체의 key 값은 유일하며 value 값은 중복될 수 있다.
'Java' 카테고리의 다른 글
Java_BufferedReader 예외처리 경우 (0) | 2022.07.18 |
---|---|
Java_Scanner 버퍼 비우기 (0) | 2022.07.06 |
Java_인터페이스 (0) | 2021.02.22 |
Java_추상 클래스 (0) | 2021.02.20 |
Java_상속 (0) | 2021.02.20 |