JAVA(77)
-
컬렉션_HashSet(1)
Set 인터페이스에 대해 약식으로 복기를 해보자. Set 인터페이스 특징 - 순서를 보장하지 않는다. - 중복을 허용하지 않는다. - 구현클래스로 HashSet 과 SortedSet 그리고 이를 상속받는 TreeSet 이 있다. TreeSet - 범위 검색과 정렬에 유리한 컬렉션 클래스 - HashSet 보다 데이터 추가, 삭제에 시간이 더 걸린다. HashSet - Set 인터페이스를 구현한 대표적인 컬렉션 클래스 순서를 유지하고 싶으면? LinkedHashSet 클래스를 사용하자. 이번 글에선 HashSet에 대해 학습 하겠다. 주요 메서드 생성자 - HashSet() - 기본 생성자 - HashSet(Collection c) - 컬렉션에 있는 값들을 HashSet에 옮겨 담는 생성자 - HashSe..
2024.02.19 -
컬렉션_Iterator 과 Map
Iterator 는 Collection 인터페이스에 포함 돼 있다고 했다. 따라서, Collection 의 구현 클래스라면 Iterator 를 사용할 수 있다고, 앞선 글에서 학습하였다. 그런데, Map 에는 iterator() 가 없다. ?????????? public Interface Collection{ ... Iterator iterator(); ... } 이전 글에서 ArrayList에서는 iterator() 를 사용할 수 있었다. ArrayList를 거슬러 올라가 보니, Collection 을 상속받고 있음이 확인 되었다. public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Se..
2024.02.17 -
컬렉션_Iterator
Iterator ? Iterator 라는 인터페이스가 있다. 이 인터페이스의 목적은 ' 컬렉션에 담긴 요소들을 읽어오는 것'이다. Iterator 는 Collection 인터페이스에 포함 돼 있다. (-> collection 의 sub class 라면 다들 Iterator를 갖는다) 주요 메서드 Iterator의 주요 목적은 컬렉션의 요소 값을 갖고 오는 것이라 했다. 하여 주요 메서드로는 boolean hasNext() - 다음 요소가 있는지 확인한다. 다음 요소가 있다면 true, 없다면 false Obejct next() - 다음 요소가 있다면 가져온다. public class IteratorEx { public static void main(String[] args) { ArrayList list..
2024.02.17 -
컬렉션_스택&큐
스택 Last In First Out 구조. 마지막에 저자아된 것을 가장 먼저 꺼낸다. 저장(push) 추출(pop) 큐(Queue) First In First Out 구조. 들어간 순서대로 나온다. 저장(offer) 추출(poll) Stack 주요 메서드 boolean empty() - Stack이 비어있는지 알려줌. Object peek() - Stack 중 가장 마지막에 올려진 객체를 반환함. pop()과 다르게, 스택에서 객체를 제거하지는 않는다. Obejct pop() - Stack의 가장 위에 저장된 객체를 꺼냄. (Stack이 비어있다면 EmptyStackException 이 발생함) Obejct push() - Stack에 객체를 저장함. int search(Object o) - Stack..
2024.02.15 -
컬렉션_LinkedList
LinkedList 를 학습하기에 앞서, 배열의 장단점을 되짚어보자. 배열의 장점 - 배열은 구조가 간단하고 데이터를 읽는 데 (접근 시간) 걸리는 시간이 짧다. (주소값 1개에 동일 타입 데이터가 번호표 들고 있음.) 1 2 3 4 놀랍게도, 데이터 1과 데이터2에 접근하는 데 걸리는 시간이 같다. ???????????? 어떻게 가능한가? 배열의 데이터에 접근하기 위해서는 아래와 같은 공식을 갖는다. 배열주소 + 데이터 크기 x (인덱스) 위의 예시에서는 동일한 배열에 존재하므로, 배열주소도 같고, 정수타입만 모아뒀으므로, 정수타입의 데이터 크기 4에 인덱스만 [0] , [4] 곱하면 되는 것이다. 따라서, 01xx + 4*0 이나 01xx + 4*4 나 접근하는 단계는 완전히 같으므로, 어디로 접근하..
2024.02.15 -
컬렉션_ArrayList
ArrayList란? - List 인터페이스의 구현체 중 하나 - 순서를 보장하고, 중복을 허용함 - 기존에 있던 Vector 를 개선한 것으로, 구현 원리, 기능 등일 동일함. - Vector 는 자체적으로 동기화 처리가 돼 있음. (아직 뭔 소린지 모름ㅎ) - 이름에서 알 수 있듯, 배열기반임. - 모든 종류의 객체를 저장할 수 있음. (Obejct[]) ArrayList의 메서드 ArrayList() - 기본 생성자 ArrayList(Collection c) - 컬렉션을 인자로 넣으면 ArrayList로 반환됨. ArrayList(int initalCapacity) - 초기 배열 길이 boolean add(Obejct o) - 객체 저장 boolean remove( Obejct o ) - 객체 삭제..
2024.02.14