A sentimental robot

Generic 본문

Java

Generic

GOD03219 2017. 12. 29. 15:15

제네릭이란, 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 말한다.

 

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읽어오기

 

 }

}


 

'Java' 카테고리의 다른 글

익명클래스, anonymous class  (0) 2018.01.04
중첩 인터페이스  (0) 2018.01.04
도서관리프로그램  (0) 2017.12.29
Reference's reference  (0) 2017.12.29
InetAddress Class  (0) 2017.12.29