Collectioin 객체에 대해서 O X퀴즈로 나타내 보았다.
1. 모든 컬렉션 클래스들에는 기본 타입도 지정할 수 있다.(X)
레퍼 객체만 사용 가능하다.
2. List 인터페이스를 구현한 컬랙션 클래스들은 데이터의 저장순서를 유지하며, 중복 저장을 허용한다.(0)
-> 중복 저장을 허용하지 않는 것은 SET이다.
3. ArrayList는 배열과 달리 크기를 초과하여 요소를 추가하면 자동으로 크기가 늘어난다.(0)
-> 기본 사이즈를 10으로 잡고 크기가 커지면 그에 맞춰서 확장한다.
4. ArrayList는 요소를 검색할 때 좋은 성능을 보이지만, 순차적으로 요소를 추가하거나 삭제할 때에는 그렇지 않다.(X)
-> ArayList는 요소를 순차적으로 요소를 추가하거나 삭제할 때 빠르다는 이점을 가진다.
5.LinkedList는 요소를 검색할 때에는 상대적으로 좋은 성능을 보이지 못하지만, 중간에 위치한 요소를 추가하거나 삭제할 때 ArrayList
보다 효율적으로 동작한다.(0)
-> LinkedList는 중간에 요소를 추가하거나 삭제할때 Link되어있기 때문에 모든 요소를 앞당기거나 밀어야하는 ArrayList보다 효과적이다.
6. ArrayList와 LinkedList 모두. 내부적으로 객체의 참조값들이 서로 인접하여 메모리 공간 상에 위치하게 된다(X)
-> ArrayList는 맞지만 LinkedList는 인접해있지 않다.
7.String 타입의 요소를 저장하고 있는 ArrayList al의 이터레이터를 생성하여 참조 변수 it에 할당하는 코드는?
->Iterator<String> it = al.iterator();
8 Set은 List와 달리 데이터의 중복 저장을 허용하지 않으며, 데이터의 저장 순서를 유지하지 않는다.(0)
-> 설명 그대로이다.
9. HashSet에 데이터를 저장하면 자동으로 정렬된다.(X)
-> 데이터를 정렬하는 것은 Tree의 능력이다.
10. TreeSet은 이진탐색트리의 구조로 데이터를 저장하는 컬렉션으로, 입력 데이터를 자동으로 정렬해준다.(0)
->설명 그대로이다.
11. 이진탐색 트리의 부모노드는 자식노드보다 큰 값을 가진다. (X)
-> 왼쪽은 작은 값 오른쪽은 큰 값이다.
12. Map도 Iterator를 사용할 수 있다.(??)
-> Map entry를 통하여 사용해야한다.
13. Map 키와 벨류값 모두 중복을 허용한다(X)
-> 벨류값은 중복을 허용하지 않는다.
14. Map은 자동으로 정렬되어 들어간다.(X)
-> tree만 가능하다.
오늘은 문제를 위주로 학습하여서 퀴즈를 통해 배운 것을 회고해 보았다.