Chapter 11. Collections Framework
1. 컬렉션 프레임웍의 인터페이스 중, 순서를 유지하지 않는 데이터의 집합이며 중복을
허용하지 않는 것은?
-> Set 인터페이스
2. Queue와 Dequeue의 차이는 무엇인가?
-> Queue FIFO(first in first out)구조이고, Dequeue는 FIFO와 LIFO(last in first out) 둘 다 가지고 있는 구조이다.
3. Iterator와 ListIterator의 차이는 무엇인가?
Iterataor는 인덱스 0번에서 부터 컬렉션에 저장된 요소에 접근함.
ListIterator는 위와 같지만 양방향에서 접근할 수 있음.(List를 구현한 경우만 사용가능)
4. 아래의 배열을 대소문자 구분 없이 정렬하시오.
String[] strArr = {“cat”, “Dog”, “lion”, “tiger”};
정답 )
Arrays.sort(strArr, String.CASE_INSENSITIVE_ORDER);
System.out.println("strArr = " + Arrays.toString(strArr));
5. HashMap에 포함된 모든 값들을 출력하는 코드를 작성하시오.
HashMap map = new HashMap();
map.put(“김자바", new Integer(100));
map.put(“나자바", new Integer(90));
map.put(“박자바", new Integer(80));
map.put(“이자바", new Integer(70))
정답 )
Collection values = map.values();
Iterator it = values.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
Chapter 11 문제
1. ArrayList의 각 요소를 접근하여 특정 조건에 만족하는 요소를 삭제할때 제어 변수를 0부터 증가하여 반복하는 것이 아니라 마지막 요소부터 감소하여 반복하는 이유를 설명하세요
-> 변수 i를 증가시켜가면서 삭제하면, 한 요소가 삭제될 때마다 빈 공간을 채우기 위해 나머지 요소들이 자리이동을 하기 때문에 올바른 결과를 얻을 수 없다. 그래서 제어변수를 감소시켜가면서 삭제를 해야 자리이동이 발생해도 영향을 받지 않고 작업이 가능하다.
2. Queue의 Offer(), Poll(), Peek() Stack의 Push(), Pop(), Peek() 메소드와 Deque의 offerLast(), pollLast(), pollFirst(), PeekFirst(), peekLast() 메소드가 어떻게 대응되는지 기술하세요
->
3. 일반적인 경우 컬렉션의 구현체로 참조변수의 타입을 지정하는 것이 아니라 인터페이스로 타입을 지정하는 이유를 설명하세요 (ex. ArrayList list = new ArrayList(): X, List list = new ArrayList(): O)
-> 컬렉션을 조건에 맞게 정렬하기 위해서, 정렬의 예) 오름차순, 내림차순)-> 다형성을 이용해서 하나의 참조변수로 여러 타입의 인스턴스를 참조할 수 있기 때문에, 데이터의 특징에 알맞게 List 인터페이스를 구현한 컬렉션 클래스를 사용하여 재사용성이 높은 코드를 작성할 수 있다.
4. Comparable, Comparator 인터페이스 사용 목적을 설명하세요
5. HashMap에서 Key값을 이용하여 Value를 찾는 과정을 서술하세요
-> Object get(Object key) 메서드를 이용해서 지정된 키(key)의 값(객체)을 반환. 못 찾으면 null을 반환
HashMap map = new HashMap();
map.put("김자바", new Integer(100));
map.put("나자바", new Integer(90));
map.put("박자바", new Integer(80));
map.put("이자바", new Integer(70));
Object o = map.get("박자바");
System.out.println(o);
출력 값 : 80
'JavaStudy(open) > 퀴즈' 카테고리의 다른 글
0627 스터디 문제풀이 (0) | 2021.06.27 |
---|