CS

CS/Data Structure

[ 자료구조 ] 맵(Map)이란 무엇일까?

Map Map 인터페이스는 키(key)와 값(value)로 구성된 객체를 저장하는 구조를 가지고 있다. Entry 객체는 키(key)와 값(value)을 각각 키(key)객체와 값(value)객체로 저장한다. Map 인터페이스는 이들을 포함하고 있다. Map은 키는 중복 저장할 수 없지만, 값은 중복 저장이 가능하며 기존에 저장된 키와 동일한 키로 값을 저장하면, 기존의 값이 새로운 값으로 대치된다. List는 인덱스를 기준으로 관리되는 반면 Map은 키(key)를 기준으로 객체를 관리하기 때문에 키(key)를 매개값으로 갖는 메서드가 많다. HashMap HashMap는 키와 값으로 구성된 Entry 객체를 저장하며 해시 함수를 통해 키와 값이 결정되기 때문에 그 위치를 알 수 없고 삽입되는 순서와 위..

CS/Data Structure

[ 자료구조 ] 셋(Set)이란 무엇일까?

Set은 일반적으로 집합을 의미하는데, 집합은 중복된 값을 허용하지 않는다. Set은 요소의 중복을 허용하지 않고, 저장 순서를 유지하지 않는 컬렉션이다. 대표적인 클래스는 HashSet, TreeSet이 있다. HashSet HashSet은 중복을 허용하지 않고, 저장 순서를 유지하지 않는 특징을 가지고 있다. 그렇다면 해당 값이 중복된 값인지 어떻게 판단할까? add(Object o)를 통해 객체를 저장하고자 할 때 저장하고자 하는 객체의 해시코드를 hashcode()메서드를 통해 얻는다. Set이 저장하고 있는 모든 객체들의 해시코드를 hashcode()메서드로 얻는다. 저장하고자 하는 객체의 해시코드와, Set에 이미 저장되어져 있던 객체들의 해시코드를 비교하여, 같은 해시코드가 있는지 검사한다...

CS/Data Structure

[ 자료구조 ] 이터레이터(Iterator)란 무엇일까?

Iterator(반복자) 컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할을 한다. 이러한 컬렉션 순회 기능은 Iterator 인터페이스에 정의되어져 있으며, 컬렉션 인터페이스에서는 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 메서드 iterator()가 정의되어있다. 따라서, iterator()를 호출하면, Iterator타입의 인스턴스가 반환된다. 그러므로 Collection 인터페이스를 상속받는 List와 Set 인터페이스를 구현한 클래스들은iterator() 메서드를 사용할 수 있다. iterator()를 통해 만들어진 메서드는 다음과 같다. 메서드 설명 hasNext() 읽어올 객체가 남아 있으면 true를 리턴하고, 없으면 false를 리턴한다. next() 컬렉션에서 하나..

CS/Data Structure

[ 자료구조 ] 리스트 (List)란 무엇일까?

List List인터페이스는 배열과 같이 객체를 일렬로 늘어놓은 구조를 가지고 있다. 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동으로 인덱스가 부여되고, 인덱스로 객체를 검색 및 추가, 삭제하는 기능을 제공한다. List 인터페이스를 구현한 클래스로는 ArrayList, Vevtor, LinkedList, Stack 등이 있다. ArrayList 가장 많이 사용되는 클래스로, 기능적으로 Vector와 동일하지만, 기존의 Vector를 개선한 것이다. 객체가 인덱스로 관리된다는 점에서 배열과 유사하지만 배열은 생성될 때 크기가 고정되는 반면 ArrayList는 저장 용량이 추가되는 경우 자동으로 저장 용량이 늘어난다. 또한, 리스트 계열 자료구조의 특성을 이어받아 데이터가 연속적으로 존재한다. A..

Kangharyeom
'CS' 카테고리의 글 목록 (5 Page)