본문 바로가기
Language/JAVA

JAVA 12일차 - 컬렉션, 제네릭

by 코젼 2022. 7. 5.
728x90
반응형

2022-07-05(12일차)

📃 ArrayList 예제

📝 JavaTest 클래스

// java.util 패키지에 있는 모든 클래스와 메소드를 import한다.
import java.util.*;

class JavaTest {
	public static void main(String[] args) {
		// ArrayList는 java.util 패키지 안에 있는 클래스이다.
		// Integer형 ArrayList 객체가 생성된다.
		ArrayList<Integer> arNum = new ArrayList<Integer>();
		// 객체명.add를 이용하여 객체를 만들어서 데이터를 추가한다.
		// 1~5가 추가되었다.
		arNum.add(1);
		arNum.add(2);
		arNum.add(3);
		arNum.add(4);
		arNum.add(5);
		// 리스트의 두번째에 100을 집어넣는다.
		arNum.add(2, 100);
		for(Integer i : arNum) {
			System.out.print(i+" ");
		}
	}
}

💻 실행 결과


📃 Stack 예제

📝 StackTest 클래스

import java.util.*;

class StackTest {
	public static void main(String[] args) {
		Stack<String> stack = new Stack<String>();
		stack.push("젼이");
		stack.push("빵먹는숩");
		stack.push("만두은진");
		
		while(stack.empty() == false) {
			System.out.println(stack.pop());
		}
	}
}

💻 실행 결과


📃 Queue 예제

📝 QueueTest 클래스

import java.util.*;

class QueueTest {
	public static void main(String[] args) {
		LinkedList<String> queue = new LinkedList<String>();
		queue.offer("젼이");
		queue.offer("빵먹는 숩");
		queue.offer("만두은진");
		
		while(queue.isEmpty() == false) {
			System.out.println(queue.poll());
		}
	}
}

💻 실행 결과


📃 HashMap 예제

📝 HashMapTest 클래스

import java.util.*;

class HashMapTest {
	public static void main(String[] args) {
		HashMap<String, Integer> Snack = new HashMap<String, Integer>();
		Snack.put("오징어 땅콩", 2500);
		Snack.put("죠리퐁", 1900);
//		Snack.put("죠리퐁", 1400); // key값이 동일해도 에러가 안남 -> java 버그
		Snack.put("핫브레이크", 450);
		Snack.put("빼빼로", 900);
		
		String MySnack = "죠리퐁";
		System.out.println(MySnack + "의 가격은 " + Snack.get(MySnack));
	}
}

💻 실행 결과


📃 HashSet 예제

📝 HashSetTest 클래스

import java.util.*;

class HashSetTest {
	public static void main(String[] args) {
		// 중복되는 값을 제거해준다 -- HashSet
		HashSet<String> kangwon = new HashSet<String>();
		kangwon.add("춘천시");
		kangwon.add("철원군");
		kangwon.add("정선군");
		kangwon.add("강릉시");
		kangwon.add("화천군");
		kangwon.add("춘천시");

		Iterator<String> it = kangwon.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
	}
}

💻 실행 결과


💡 제네릭 메서드

💬 형변환을 잘못했을 때 경고메세지만 뜨고 오류를 못찾는 경우를 해소하기 위해 사용한다.


📃 제네릭 로타입

📝 CastingTest 클래스

import java.util.*;

class CastingTest {
	public static void main(String[] args) {
		ArrayList arNum = new ArrayList();
		arNum.add(1);
		arNum.add("문자열");
		int value = (int)arNum.get(0);
//		int temp = (int)arNum.get(1);
		System.out.println(value);
	}	
}

💻 실행 결과

💬 강제 형변환 에러

 

728x90
반응형

댓글