컬렉션 3

[JAVA] 12. 자바 컬렉션(Map편)

Map의 개념은 다른 컬렉션보다 간단하다. Map에 데이터를 넣는 put() 데이터를 확인하는 get() 데이터를 삭제하는 remove() Map 인터페이스를 구현한 클래스들 HashMap, TreeMap, LinkedHashMap, Hashtable 기능 HashMap HashTable 키나 값에 null 저장 가능 여부 가능 불가능 여러 쓰레드 안전 여부 불가능 가능 따라서, Hashtable을 제외한 Map으로 끝나는 클래스들을 여러 쓰레드에서 동시에 접근할 땐 Map m = Collections.synchronizedMap(new HashMap(...)); 와 같이 선언해서 사용해야 한다. HashMap 클래스의 상속 관계 java.lang.Object ㄴ java.util.AbstractMap ..

Java 2021.04.30

[JAVA] 11. 자바 컬렉션(Set과 Queue편)

Set은 순서에 상관 없이, 어떤 데이터가 존재하는지를 확인하기 위해 사용됨. 예를 들어, 어떤 서버에 1분간 사용자가 요청한 로그가 있음. 이 서버에 붙어서 요청한 IP를 기준으로 사용자의 수가 얼마나 되는지 확인한다고 가정. 중복된 사용자는 모두 1로 봐야 하므로 set으로 추출이 필요함. Set 인터페이스를 구현한 주요 클래스 HashSet, TreeSet, LinkedHashSet HashSet : 순서가 전혀 필요 없는 데이터를 해시 테이블에 저장. Set 중에 가장 성능이 좋다 TreeSet : 저장된 데이터의 값에 따라 정렬됨. HashSet 보다 성능이 약간 느림. LinkedHashSet : 저장된 순서에 따라 값이 정렬. 성능 가장 나쁨. HashSet 클래스의 상속 관계 java.la..

Java 2021.04.30

[JAVA] 10. 자바 컬렉션(List편)

자바에서 컬렉션은 목록성 데이터를 처리하는 자료 구조를 통칭한다. 자바에서의 데이터를 담는 자료 구조는 다음과 같다. 순서가 있는 목록(List)형 순서가 중요하지 않은 셋(Set)형 먼저 들어온 것이 먼저 나가는 큐(Queue)형 키-값(Key-value)으로 저장되는 맵(Map)형 목록, 셋, 큐는 Collection이라는 인터페이스를 구현한다. public interface Collection extends Iterable Collection 인터페이스는 제네릭 타입(요소)로 선언되어 있고, Iterable인터페이스를 확장한다. List 인터페이스는 배열처럼 "순서"가 있고, 이를 구현한 클래스들은 ArrayList, Vector, Stack, LinkedList가 있다. ArrayList의 객체는..

Java 2021.04.30