1. 컬렉션에 관한 설명으로 틀린 것은?
③ Wrapper 클래스를 이용하여 객체로 만들어 저장하면 된다.
2. 다음 빈칸에 적절한 단어를 기입하라.
클래스, 인터페이스, 메소드를 특정 타입에 종속되지 않게 일반화시켜 작성하는 기술을 제네릭이라 한다. Vector<E>에서 E는 제네릭 타입 혹은 타입 매개변수라고 부른다. E에 Integer 등과 같이 객체 타입을 지정하여 특정 타입의 데이터만 다루도록 만드는 작업을 구체화라고 한다. 제네릭 기능은 C++에서 먼저 만들어졌으며 C++에서는 템플릿이라고 부른다.
3. 다음 코드에 대한 설명으로 틀린 것은?
② 최초 크기가 30이고 더 추가할 수 있다
4. 다음 물음에 적합한 코드를 간단히 작성하라.
(1) Vector<String> sv = new Vector<String>();
(2) HashMap<String, Double> h = new HashMap<String, Double>();
(3) ArrayList<Person> pa = new ArrayList<Person>(10);
(4) HashMap<String, Integer> pop = new HashMap<String, Integer>();
5. 다음 코드에서 맞는 것은?
①
6. 다음 코드에서 자동 박싱과 자동 언박싱이 일어나는 곳을 지적하라.
v.add(3.14); // 자동 박싱
double d = v.get(0); // 자동 언박싱
7. 다음 프로그램은 초기에 벡터의 크기를 3으로 설정하였다. for 문을 실행하고 벗어났을 때 벡터의 용량이 어떻게 변했는지 확인하라. 벡터는 용량이 모자랄 때, 한 번에 얼마만큼씩 용량을 늘리는가?
초기 용량 3-> 2배 증가 6 -> 2배 증가 12
답 : 벡터의 용량은 12
8. 주석문을 참고하여 빈칸에 적절한 코드로 채워라.
ArrayList<String> a = new ArrayList<String>(10);
a.add("Java");
a.add(0, "C++");
System.out.println(a.size());
a.remove(a.size() -1);
9. 다음에서 밑줄친 부분과 동일하게 작동하도록 Iterator를 이용하여 다시 작성하라.
Vector<Integer> v = new Vector<Integer>();
for(int i=0; i<10; i++) v.add(i);
Iterator<Integer> it = v.iterator();
while(it.hasNext()){
int n = it.next();
System.out.print(n + " ");
}
10. 다음은 해시맵 h를 만들고, func(h) 메소드를 호출하여 h에 들어 있는 원소의 개수를 리턴받아 출력하는 코드이다. func() 메소드를 작성하라.
public static int func(HashMap<String, Integer> map) {
return map.size();
}
11. 다음 제네릭 클래스에 대해 아래 문항에 답하라.
(1) 1개 , W
(2) JGeneric<String> jg = new JGeneric<String>("hello", "java");
(3) public W first() { return x; }
(4) public W second() { return y; }
(5) public boolean equal() { return x.equals(y); }
(6) System.out.println(jg.equal());
12. 다음 질문에 답하라.
(1) 문자열 배열과 인덱스를 매개변수로 받아 문자열배열[인덱스]를 리턴하는 메소드이다.
(2)
class JGenClass {
static T take(T s[], int index) {
if (index > s.length) {
System.out.println("인덱스가 범위를 벗어났습니다.");
return null;
}
return s[index];
}
}
(3)
class JGenClass {
static <T> T take(T s[], int index) {
if (index > s.length) {
System.out.println("인덱스가 범위를 벗어났습니다.");
return null;
}
return s[index];
}
}
public class Example {
public static void main(String[] args) {
String [] text = { "Hello", "Java", "World" };
System.out.println(JGenClass.take(text, 1));
Integer [] n = { 0,1,2,3,4,5 };
System.out.println(JGenClass.take(n, 1));
}
}
'자바 > 명품 자바 프로그래밍' 카테고리의 다른 글
명품 자바 프로그래밍 7장 실습문제 / 2022.01.25 (0) | 2022.01.25 |
---|---|
명품 자바 프로그래밍 6장 실습 문제 / 2021.12.28 (0) | 2021.12.28 |
명품 자바 프로그래밍 6장 이론 문제 / 2021.11.20 (0) | 2021.11.20 |
명품 자바 프로그래밍 5장 실습 문제 / 2021.11.16 (0) | 2021.11.16 |
명품 자바 프로그래밍 5장 이론 문제 / 2021.11.10 (0) | 2021.11.10 |