IT CookBook JAVA 마스터/연습문제

IT CookBook JAVA 마스터 Ch.13 연습문제

은행털이 2023. 12. 11. 13:59

01. 다음 빈칸을 채우시오

컬렉션 프레임워크는 많은 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 말한다. 즉 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해놓은 인터페이스이다.

 

02. 자바의 컬렉션 클래스에 null 객체가 전달되면 어떤 예외가 발생하는가?

Arrayoutofbound 예외

널 포인터 예외

문자열을 찾을 수 없음 예외

예외가 발생하지 않는다.

-> null 전달은 가능하지만, 이후 참조하려고 할때 널 포인터 오류가 발생함

 

03. 다음 중 자바의 컬렉션에 포함되지 않는 클래스는 무엇인가?

ArrayList

Stack

PriorityQueue

HashTable

 

04. 다음 프로그램의 실행 결과는 무엇인가?

class Array {
	public void method(int x) {
		ArrayList<Integer> a = new ArrayList();
		for (int i=x; i<=5; i++) {
			a.add(i);
		}
		System.out.println(a);
	}
}

public class MyClass {

	public static void main(String[] args) {
		Array obj = new Array();
		obj.method(2);
	}
}

[ 2, 3, 4, 5]

2

5

컴파일오류

 

05. 다음 중 한 목록에서 다른 목록으로 복사하는 데 사용되는 컬렉션 클래스의 메서드는 무엇인가?

create()

concat()

copy()

convert()

 

06. 다음 프로그램의 실행 결과는 무엇인가?

public class MyClass {

	public static void main(String[] args) {
		LinkedList<String> l = new LinkedList();
		for (int i = 1; i < 5; i++) {
			l.add(String.valueOf(i));
		}
		l.remove(2);
		System.out.println(l);
	}
}

1 2 3 4 5

1 3 4 5

1 2 4

1

 

07. 다음 프로그램의 실행 결과는 무엇인가?

public class MyClass {
	
	static Vector<Integer> v = new Vector();
	static public void show() {
		System.out.println(v.size());
	}

	public static void main(String[] args) {
		v.addElement(10);
		v.addElement(25);
		v.addElement(40);
		show();
	}
}

10

25

40

3

 

08. 다음 프로그램은 어떤 오류가 발생하는가?

public class MyClass {

	public static void main(String[] args) {
		LinkedList<int> list = LinkedList();
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		list.add(5);
		System.out.println(list);
	}
}

linedlist에 요소를 추가하는 중 오류가 발생한다

목록을 출력하는 중 오류가 발생한다

linkedlist 데이터 유형이 잘못되어 오류가 발생한다

오류가 발생하지 않는다

 

09. 다음 프로그램의 실행 결과를 작성하시오.

public class MyClass {

	public static void main(String[] args) {
		HashSet nums = new HashSet();
		nums.add("One");
		nums.add(2);
		nums.add(3.14);
		nums.add(true);
		System.out.println(nums);
	}
}

[2, 3.14, One, true]

 

 

10. 다음 프로그램의 실행 결과를 작성하시오.

public class MyClass {

	public static void main(String[] args) {
		TreeSet<Integer> tree = new TreeSet<Integer>();
		tree.add(25);
		tree.add(20);
		tree.add(35);
		tree.add(30);
		Iterator<Integer> iterator = tree.descendingIterator();
		System.out.println("오름차순:");
		
		while (iterator.hasNext()) {
			System.out.println(" " + iterator.next());
		}
	}
}

오름차순:

35

30

25

20