1. 제네릭에 변수 담기
class Box<T> {
private T data;
public void set(T data ) {
this.data = data;
}
public T get() {
return data;
}
}
public class Test4 {
public static void main(String[] args) {
Box <String> b = new Box<>();
b.set("자바");
String s = (String)b.get();
System.out.println(s);
Box <Integer> b2 = new Box<>();
b2.set(10);
Integer i = b2.get();
System.out.println(i);
}
}
2. 제네릭에 2개 이상의 변수 담기
class Pair <T>{
private T data1;
private T data2;
public Pair(T value1, T value2) {
this.data1 = value1;
this.data2 = value2;
}
public T getFirst() {return data1;}
public T getSecond() {return data2;}
}
public class Test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Pair <String> pair = new Pair <String> ("Apple", "Tomato");
System.out.println(pair.getFirst()+","+pair.getSecond());
Pair <Double> db = new Pair <Double> (1.5, 2.3);
System.out.println(db.getFirst()+","+db.getSecond());
}
}
3. 이름 검색하기 - HashMap 제네릭 활용
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;
public class Assign {
public static void main(String[] args) {
HashMap<String,Integer> dic = new HashMap<String,Integer>();
dic.put("유재석", 70);
dic.put("강호동", 80);
dic.put("이경규", 90);
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("이름?");
String name = scanner.next();
if(name.equals("quit")) {
System.out.println("종료합니다...");
break;
}
int score = dic.get(name);
if (name == null) {
System.out.println("없음");
}
else {
System.out.println(score);
}
}
}
}
4. 이름과 학번 등록하기 - 제네릭 활용
class Pair <F,V>{
private F data1;
private V data2;
public Pair(F field, V value) {
this.data1 = field;
this.data2 = value;
}
public F getKey() {
return data1;
}
public V getValue() {
return data2;
}
}
public class Test {
public static void main(String[] args) {
Pair<String,Integer>p1 = new Pair<String,Integer> ("학번:", 12345678);
System.out.println(p1.getKey() + " "+p1.getValue());
Pair<String,String>p2 = new Pair<String,String> ("이름:","홍길동");
System.out.println(p2.getKey() + " "+p2.getValue());
}
}
5. 마지막 원소 출력하기 - 제네릭 메소드 활용
class MyArray {
public static <T> T getLast(T[] a) {
return a[a.length - 1];
}
}
public class Test2 {
public static void main(String[] args) {
String[] language = {"C++" ,"C#","JAVA"};
String last = MyArray.getLast(language);
System.out.println(last);
Integer[] value = {1,3,2,5,4};
Integer i = MyArray.getLast(value);
System.out.println(i);
}
}
'CS Study > Java' 카테고리의 다른 글
12. 파일 스트림 (0) | 2022.04.07 |
---|---|
11. 컬렉션 (0) | 2022.04.07 |
8. 인터페이스와 추상 메소드 (0) | 2022.04.07 |
7. 상속 - 메소드 오버라이딩 (0) | 2022.04.07 |
6. 패키지 / 접근 제한자 / 상속 (0) | 2022.04.07 |