List, Set, Map, HashMap의 차이, Spring Container
List, Set, Map, HashMap의 차이에 대해서 설명해주세요.
List는 데이터의 중복을 허용하고 들어온 순서그대로를 유지하고 있습니다. 그리고 인덱스를 통해서 데이터에 접근이 가능하고 크기를 동적으로 늘릴수 있다는 장점이 있고 단점으로는 원하는 리스트의 크기가 커지면 속도문제점이 발생할 수 있습니다. 자바에서 List에 관한 주요 구현체는 ArrayList, LinkedList가 있습니다.
Set은 데이터 중복을 허용하지 않고 순서를 유지하지 않습니다. Set은 순서가 없기 때문에 인데스로 접근은 불가능하고 순차적인 탐색을 해야하기 때문에 List보다 속도가 느릴 수 있습니다. Set의 주요 구현체는 HashSet, LinkedHashSet, TreeSet이 있습니다.
Map은 Key&Value구조로 되어있습니다. Key는 중복을 허용하지 않고 순서를 유지하지 않고 Value는 중복을 허용합니다. 즉 Map은 키와 값의 쌍으로 데이터를 저장하기 때문에 데이터를 효율적으로 검색할 수 있고 값을 빠르게 찾을 수 있습니다. 또한 데이터 수정, 삭제가 빠릅니다. Map의 주요 구현체는 HashMap, LinkedHashMap, TreeMap이 있습니다. 그 중에서 HashMap은 Key의 객체를 해시 코드로 변환해서 내부 인덱스로 사용합니다. 해시코드는 고유한 값으로 해시코드를 나머지 연산으로 통한 알고리즘으로 해시 충돌을 방지하고 해시 코드의 분포를 균등하게 유지해서 성능을 향상시킵니다.
Spring Container
스프링 컨테이너는 애플리케이션의 객체를 생성하고 관리하는 역할을 합니다. 객체의 생명주기를 관리하고 객체를 주입하여 개발을 용이하게 만들어줍니다. 스프링 컨테이너는 기본적으로 싱글톤으로 객체를 관리하고 XML와 어노테이션으로 클래스를 스캔하여 생성하고 관리합니다. 그리고 컨테이너에 생성된 객체들은 개발자가 직접 객체를 생성하지 않고 스프링이 자동으로 주입해서 객체간의 결합도를 낮출수 있습니다.
https://hahahoho5915.tistory.com/35
[간단정리] List, Set, Map 특징 및 차이점(+ 구현체 )
개요 자료구조 List, Set, Map의 각각 특징 및 차이점에 대해 알아보자 요약 List: 순서가 있으며, 데이터(값) 중복 허용 Set: 순서가 없으며, 데이터(값) 중복을 허용하지 않음 Map: Key&Value 구조, Key는 중
hahahoho5915.tistory.com
https://selina-park.tistory.com/51
[자료구조] 해시 Hash, 해시맵 HashMap
1. 해쉬는 왜 생겼지? 가장 기본적인 자료구조인 배열의 경우 내부 인덱스를 이용하여 자료의 검색이 한번에 이루어지기 때문에 빠른 검색 속도를 보이는 반면 데이터의 삽입, 삭제 시 많은 데이
selina-park.tistory.com