본문 바로가기
728x90
반응형

컬렉션 프레임워크3

[Java Basic] 34 - 컬렉션 프레임워크4 (Iterator, ListIterator, Enumeration) 컬렉션 프레임워크에 속하는, 데이터 집단을 다루는 객체들은 자신들이 가지는 요소(Element)에 접근하여 값을 확인할 수 있는 인터페이스를 사용할 수 있는 iterator()라는 매서드를 가지고 있다. 이 iterator() 매서드의 반환값은 Iterator 객체인데, 데이터 요소들의 접근과 조회를 이 Iterator 객체에서 진행할 수 있도록 몇 개의 매서드가 정의되어 있다. Iterator 외에도 ListIterator와 Enumeration이라는 이름의 인터페이스도 존재하는데, Enumeration은 Iterator와 동일한 기능을 가지는, 컬렉션 프레임워크 탄생 전에 존재하던 인터페이스고, ListIterator는 Iterator에 몇몇 매서드를 추가한, List 내 요소의 접근과 조회에 특성화.. 2022. 9. 2.
[Java Basic] 33 - 컬렉션 프레임워크3 (Stack, Queue) Stack과 Queue는 배열과 유사하나, 데이터 처리에 있어 별도의 특성을 가지는 자료 구조(Data Structure)의 한 형태다(필자가 지금까지 자료구조라는 용어를 쓰지 않았는데, ArrayList, LinkedList 역시 자료 구조의 한 형태다). Stack과 Queue의 생김새는 배열과 동일한데, 데이터를 pop()으로 추출하고 삭제하는 방식에서 차이가 있다. Stack은 후입선출(Last In First out: LIFO)의 특성을 가지며, Queue는 선입선출(First In First Out)의 특성을 가진다. 쉽게 풀자면 Stack은 배열 내에서 데이터 추출 시, 가장 마지막에 저장된 데이터가 먼저 추출되고, Queue는 가장 먼저 저장된 데이터가 먼저 출력된다. Stack의 예시는 .. 2022. 9. 1.
[Java Basic] 32 - 컬렉션 프레임워크2 (ArrayList, LinkedList) 지난 번 컬렉션 프레임워크 개요와 Vector에 대한 포스팅을 진행하면서, Vector는 컬렉션 프레임워크 등장 전 배열을 쉽게 다루기 위한 클래스라는 것을 설명했다. 그리고 이 Vector마저도 사용상의 개선사항이 존재했기 때문에, Java에서 컬렉션 프레임워크 등장과 함께, 기능이 개선된 클래스인 ArrayList가 발생했음을 함께 언급했다. 이번 포스팅에서는 데이터 집단을 다루기 위한 컬렉션 프레임워크인 ArrayList와 LinkedList에 대해 알아보려 한다. ArrayList와 LinkedList는 둘 다 List 인터페이스에 속하는, 일종의 배열 형태의 객체지만, 데이터 저장 방식이 조금 차이가 있으며 이로 인해 데이터 조회와 처리에 있어서도 장/단점이 뚜렷하다. 하나씩 살펴보자. 1. A.. 2022. 9. 1.
728x90
반응형