본문 바로가기

Java

컬렉션 프레임워크(List 인터페이스)

Q1. 컬렉션 인터페이스의 하위에는 어떤 것이 있는가?
- List 인터페이스, Queue 인터페이스, Set 인터페이스가 있습니다. 


Q2. List 인터페이스의 특징은 무엇인가?
- 순서가 있는 자료를 저장한다는 특징이 있습니다. 
-> 또한, List 인터페이스는 값의 중복을 허용한다는 특징이 있습니다.

-> 반면, Set 인터페이스는 순서에 상관 없이 값을 저장하고, 

    값의 중복을 허용하지 않는다는 특징이 있습니다. 

Q3. List 인터페이스를 구현한 클래스는 무엇이 있는가?
- ArrayList 클래스, Vector 클래스, Stack 클래스, LinkedList 클래스가 있습니다. 


Q4. ArrayList 클래스를 사용하려면 어떤 선언을 해야 하는가?
- import java.util.ArrayList를 선언해야 합니다.  



Q5. ArrayList와 Vector의 차이점은 무엇인가?
- ArrayList는 스레드 안전하지 않지만, Vector는 스레드 안전합니다. 



Q6. ArrayList와 비교할 때, Vector의 단점은 무엇인가?
- Vector는 스레드 안전하기 때문에 느리다는 점이 단점입니다. 



Q7. LinkedList 클래스의 특징은 무엇인가?
- 새로운 값을 더하거나 값을 빼는 작업을 O(1)에 할 수 있다는 특징이 있습니다. 



Q8. LinkedList에서 제거된 메모리는 어떻게 되는가?
- 가비지 컬렉션에 의해서 제거됩니다.  


Q9. 배열은 어느 경우에 LinkedList보다 효율적인가?
- 배열은 인덱스가 존재하므로, 값을 검색할 때 LinkedList보다 효율적입니다. 

 

 


Q10. LinkedList 클래스에는 링크드 리스트의 맨 앞 또는 맨 뒤에 요소를 추가, 삭제하기 위해
       어떤 메소드를 제공하는가?
- addFirst(), addLast(), removeFirst(), removeLast()와 같은 메소드를 제공합니다. 


Q11. 스택은 어떤 방식의 자료구조인가?
- LIFO 방식의 자료구조입니다. 

 

 

Q12. JCF는 List 인터페이스를 정의하고, 어떤 두 가지 구현 클래스를 제공하는가?

- ArrayList 클래스와 LinkedList 클래스를 제공한다. 

 

 

Q13. List 인터페이스 라이브러리를 사용할 때, 코드는 오직 무엇에 의존해야 하고, 무엇에 의존하지 않아야 하는가?

- 추상적인 것에 의존해야 하며, 구체적인 것에 의존해서는 안된다. 

 

 

참고

- Q1~Q11(Do it 자바 프로그래밍) 5/18

- Q12~Q13 (자바로 배우는 핵심 자료구조와 알고리즘) 5/20

- A1~A11 5/20

- A12~A13 5/24

'Java' 카테고리의 다른 글

Java 8 전반(Optional 메소드, 디폴트 메소드 등)  (0) 2022.05.22
Serializable과 NIO  (0) 2022.05.22
컬렉션 프레임워크(Map 인터페이스)  (0) 2022.05.20
컬렉션 프레임워크(Set 인터페이스)  (0) 2022.05.20
예외  (0) 2022.05.20