|

[면접대비] Java

· 테크· CS
CS

Machine translation — switch to KO for the original.

? 내가 공부하려고 만든 기술면접 질문/답변 모음 JAVA편

1. Java의 대표 Collection에는 어떤 것들이 있나요?

List, Map, Set, Stack, Queue와 같은 것들이 있습니다. 

이 추상화된 Collection 인터페이스 아래에는 특정한 기법으로 구현된 자료구조가 있습니다. List의 경우에는 ArrayList, LinkedList가 그 예입니다.

2. List에 대해 설명해주세요.

List는 배열과 비슷한 자바 자료형으로 배열보다 편리한 기능을 많이 가지고 있습니다. List는 대표적으로 ArrayList, LinkedList가 있습니다. 

ArrayList는 자바의 Vector를 개선한 배열로 구현된 List입니다. 배열과 같은 자료구조로 리스트 연산 수행시간 속도는 배열과 같습니다.

LinkedList는 다음 노드의 주소를 기억하고 있는 List로 배열에 비해 삽입과 삭제는 간단하는 장점이 있습니다. 하지만 탐색의 경우 첫 번째 노드부터 탐색해야 하기 때문에 느리다는 단점이 있습니다. 

3. Map에 대해 설명해주세요.

Map에는 HashMap, TreeMap, LinkedHashMap이 있습니다.

HashMap은 HashTable을 사용하며 Key값에 해시함수를 적용하여 나온 index에 Value를 저장하는 식입니다. 중복을 허용하지 않으며, 순서가 없다는 것이 특징입니다.

TreeMap은 Red-Black Tree 자료구조를 이용한 Map이고, Tree구조이기 때문에 어느 정도 순서를 보장합니다.

LinkedHashMap은 LinkedList로 구현된 HashMap입니다. List도 구현되어 순서가 보장되고 LinkedList 특성상 랜덤 접근이 느릴 수 있습니다.

4. Set에 대해 설명해주세요.

Set에는 HashSet, TreeSet, LinkedHashSet이 있습니다. 

HashSet은 HashMap에서 Key 값이 없는 자료형으로 집합이라고 생각해도 무방합니다. 값 존재여부에만 관심이 있고 순서를 보장하지 않으며 중복을 허용하지 않습니다. Set 중에 제일 많이 사용됩니다. 

TreeSet은 Red-Black Tree 자료구조를 사용한 Set입니다.

LinkedHashSet은 LinkedList로 구현된 HashSet으로 순서를 보장합니다. 

5. Stack과 Queue에 대해 설명해주세요.

Stack과 Queue 모두 데이터를 기록하는 자료구조이며, Stack은 마지막에 넣은 요소가 먼저 나오는 특징이 있는데에 반해 Queue는 먼저 들어간 데이터가 먼저 나오는 구조입니다.

덱(Deque)은 스택과 큐를 합친 형태입니다.

6. Array와 ArrayList

Comments

No comments yet. Be the first!

    318 posts in 테크

    15 / 318