ABAP DUMP ERROR 24시

ArrayList vs HashMap ,HashMap vs HashTable, 제네릭이란? 본문

[WEB]Back-end/Java

ArrayList vs HashMap ,HashMap vs HashTable, 제네릭이란?

이운형 2022. 2. 10. 18:15
반응형

정리


Q . ArrayList vs HashMap 차이점은?

ArrayList배열기반이며 각 데이터마다의 인덱스(번호)를 가지고 있는 구조

HashMapMap Interface중 하나(배열 + 연결)이며, <key, value>를 가지고 Entry로 저장한다.

 

Q. HashMap vs HashTable 비교

HashMap은  null값 허용 O + 동기화 x

HashTable은 null값 허용 x + 동기화 O

 

따라서 멀티스레드 환경에서는 HashTable을 사용하고,

Java version 5 이상 부터는 동시성issue를 해결하기 위해

Hashmap을 ConcurrentHashMap으로 사용하자.

 

Q. 제네릭이 뭐야?

new ArrayList<>();

<> // 이녀석이 Generics 이다.

 

<>안에 타입을 선언해주면 List가 사용할 객체의 Type을 미리 전해줄수 있어!

따라서 객체의 형변환을 추후에 처리할 필요가 없지!

 

 

살펴보기


Q. ArrayList 깊게 정리

1. 많은 데이터를 참조에는 유리하지만, 추가/제거에는 내부 과부하가 걸려 성능이 저하된다.

2. Index를 갖고 있기 떄문에 원하는 데이터의 접근이 편리하다.

3. 데이터의 중복과 Null의 허용한다.

4. (실제값을 저장하는 저장공간) Stack 에 저장되는 Primitive type이 아닌

   (주소값을 저장하는 저장공간) Heap 에 저장되는 Reference Type의 데이터만 저장 가능하다.

 

private final List<MyHandlerAdapter> handlerAdapters = new ArrayList<>();

 

Q. HashMap 깊게 정리

1. <Key, value>에서 Key는 중복을 허용되지 않고, Value는 중복이 허용된다.

2. Null 값을 허용한다.

3. key, value를 통해 검색시에 가장 좋은 성능을 낸다.

 

private final Map<String, Object> handlerMappingMap = new HashMap<>();

 

 

 

반응형

'[WEB]Back-end > Java' 카테고리의 다른 글

InputStream 의미  (0) 2022.03.06
Optional<>()의 의미  (0) 2022.02.24
static, final, 필드, 메소드, 인스턴스 의미 정리  (0) 2022.01.26
java 에서 this가 뭐야?  (0) 2022.01.20
int 와 Integer의 차이점  (0) 2022.01.16
Comments