본문 바로가기
자바과정/Java

Java 기초 - 10일차

by Parkej 2021. 2. 18.

- 제네릭

 

/*
제네릭

객체를 저장하는 공간
틀은 같은데 내용물은 정하지 않은 것을 의미

static 클래스 이름 접근
클래스 이름이 아니면 인스턴스

T[] v; // 레퍼런스 변수 : 배열을 참조하는데 타입은 모름

Object 는 어떤 타입이 와도 다 받을 수 있다.

*/

import static java.lang.System.out;
class GenericEx1<T>{
	T[] v;
	public void set(T[] n) {
		v = n;
	}
	public void print() {
		for(T s:v) {
			out.println(s);
		}
	}
}
public class GenericEx {

	public static void main(String[] args) {
		// 제네릭은 객체만 받을 수 있음
		GenericEx1<String> t = new GenericEx1<String>();
		String[] ss = {"가","나","다"};
		t.set(ss);
		t.print();
		
		GenericEx1 t1 = new GenericEx1();
		// Integer[] s = {1,2,3}; // 인티저만 쓸 수 있는 래퍼클래스
		Integer[] s = {1,2,3}; // 래퍼 클래스
		t1.set(s);
		t1.print();
		
	}
}

 

// 해시 셋

 

import java.util.*;
import static java.lang.System.out;

public class HashSetEx1 {
// 해시셋
	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 r : str) {
			if (!hs1.add(r)) {
				hs2.add(r);
			}
		}
		out.println("hs1 : " + hs1);
		hs1.removeAll(hs2); // 삭제
		out.println("hs1 : " + hs1);
		out.println("hs2 : " + hs2);
	}
}

 

// 스택예제

 

import java.util.Stack;
import static java.lang.System.out;
public class StackEx1 {

	public static void main(String[] args) {
		String[] groupA = {"우즈벡","쿠웨이트","사우디","한국"};
		Stack<String> stack = new Stack<>();

		for(String n : groupA) {
			stack.push(n);
			while(!stack.isEmpty()) {
				out.println(stack.pop());
			}
		}
	}
}

 

 

 

반응형

'자바과정 > Java' 카테고리의 다른 글

Java 실습(ArrayList & HashMap) - 10일차  (0) 2021.02.18
Java 실습(스택 : 제네릭) - 10일차  (0) 2021.02.18
Java 실습(어댑터) - 9일차  (0) 2021.02.17
Java 기초 - 8일차  (0) 2021.02.17
Java 실습(스택&큐) - 7일차  (0) 2021.02.15

댓글