Generic
제네릭이란, 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 말한다.
import static java.lang.System.out;
public class InnerClass<T> { //<>안에 컴파일 시 명시할 타입
T[] v;
public void set(T[] n) {
v = n;
}
public void print() {
for (T s : v)
out.println(s);
}
public static void main(String args[]) {
InnerClass<String> in = new InnerClass<String>(); // String 타입으로 명시
String[] ss = { "dho" };
in.set(ss);
in.print();
}
}
import java.util.*;
import static java.lang.System.out;
public class InnerClass {
public static void main(String args[]) {
String[] str = { "Java", "Beans", "Java", "XML" };
HashSet<String> hs1 = new HashSet<String>();
HashSet<String> hs2 = new HashSet<String>();
for (String n : str) {
if (!hs1.add(n)) hs2.add(n); //hs1에 str값을 가진 n을 넣음
}
out.println("hs1 : " + hs1);
hs1.removeAll(hs2); //hs1안 에 있는 hs2와 같은 값 삭제
out.println("hs1 :" + hs1);
out.println("hs2 : " + hs2);
}
}
package InnerClass;
import java.util.*;
import static java.lang.System.out;
public class InnerClass {
public static void main(String args[]) {
String[] str = { "Java", "Beans", "Java", "XML" };
Stack <String> stack = new Stack<String>();
for (String n : str) {
stack.push(n);
}
while(!stack.isEmpty()) // stack이 비어있는지 확인
out.println(stack.pop());
}
}
import java.util.*;
import static java.lang.System.out;
public class InnerClass {
public static void main(String args[]) {
String[] str = { "Java", "Beans", "XML" };
HashMap<Integer, String> map = new HashMap<Integer, String>();
for (int i = 0; i < str.length ; i++)
map.put(i, str[i]); // i를 키로 str을 값으로 map에 저장
Set<Integer>keys = map.keySet(); / / map안에 있는 메소드 keySet을 불러와서 keys에 저장
for (Integer n : keys)
out.println(map.get(n)); // map에서 key값에 따른 value읽어오기
}
}