-
[CS/JAVA] Optional API / 컬렉션 프레임워크 / List, Set, Map, Stack, QueueCS/Java 2025. 1. 23. 23:08
• Optional API에 대해 설명해주세요.
- 개발할 때 가장 많이 발생하는 예외 중 하나가 NPE(Null Pointer Exception) 입니다.
- NPE를 피하려면 null 여부 검사를 필연적으로 하게 되는데, 만약 null 검사를 해야하는 변수가 많은 경우, 코드가 복잡해지고 번거롭습니다.
- 하지만, Java8부터 Optional<T>를 제공하여 null로 인한 예외가 발생하지 않도록 도와주고, Optional 클래스의 메소드를 통해 null을 컨트롤 할 수 있습니다.
• 컬렉션 프레임워크에 대해 설명해주세요.
- 다수의 데이터를 쉽고 효과적으로 관리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다.
- 자바 컬렉션에는 List, Set, Map 인터페이스를 기준으로 여러 구현체가 존재하고, 이에 더해 Stack, Queue 인터페이스도 존재합니다.
• List, Set, Map, Stack, Queue의 특징에 대해 설명해주세요.
- List는 순서가 있는 데이터의 집합이며, 데이터의 중복을 허용합니다. 대표적인 구현체로는 ArrayList가 있고, 이는 Vector를 개선한 것입니다. 이외에도 LinkedList 등의 구현체가 있습니다.
- (List 예시 : Vector, ArrayList, LinkedList, Stack, Queue)
- Set은 순서가 없는 데이터의 집합이며, 데이터의 중복을 허용하지 않습니다. 대표적인 구현체로는 HashSet이 있고, 순서를 보장하기 위해서는 LinkedHashSet을 사용합니다. (Map의 key-value 구조에서 key 대신 value가 들어가 value를 key로 하는 자료구조)
- (Set 예시 : HashSet, LinkedHashSet, TreeSet)
- Map은 키와 값이 한 쌍으로 이뤄져 있고, 키를 기준으로 중복을 허용하지 않으며, 순서가 없습니다. key의 순서를 보장하기 위해서는 LinkedHashMap을 사용합니다.
- (Map 예시 : HashMap, TreeMap, HashTable, Propertied)
- Stack 객체는 직접 new 키워드로 사용할 수 있으며, Queue 인터페이스는 LinkedList에 new 키워드를 적용해 사용할 수 있습니다.
* 위 글은 아래 문서를 참고해 작성했습니다.
https://dev-coco.tistory.com/153
반응형'CS > Java' 카테고리의 다른 글