1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | package com.generic.controller; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import com.generic.model.dao.BookDao; import com.generic.model.vo.Book; import com.generic.model.vo.MyGenerics; public class GenericController { public static void main(String[] args) { //제네릭 이용하기. <자료형> // 주로 Collection, Map을 이용할 때 사용. ArrayList<String> names = new ArrayList(); names.add("곰탱이"); names.add("호랭이"); //컴파일 시점에 타입을 확인 // names.add(10); // generic 이용 시 컴파일 전에 에러가 남. 이용안하면 컴파일 후 에러. for(Object n : names) { String s = (String)n; System.out.println(s.charAt(0)); } List myBooks = BookDao.myBooks; for(Object o : myBooks) { Book b = (Book)o; System.out.println(b.getTitle()+" "+b.getPrice()); } Set myBooksSet = new HashSet(myBooks); Iterator it = myBooks.iterator(); while(it.hasNext()) { Book book = (Book)it.next(); System.out.println(book.getTitle()+" "+book.getAuthor()); } /* for(Book b : Bookset) { System.out.println(b.getAuthor()+" "+b.getAuthor()); } */ HashMap<Integer, String> map = new HashMap(); map.put(1, "볶음밥"); map.put(2, "순대국"); map.put(3, "초밥"); Set<Integer> key = map.keySet(); Iterator<Integer> keyIt = key.iterator(); while(keyIt.hasNext()) { int temp = keyIt.next(); System.out.println(map.get(temp).charAt(0)); } //Map.Entry 클래스 이용 Set<Map.Entry<Integer, String>> entry = map.entrySet(); Iterator<Map.Entry<Integer, String>> mapIt = entry.iterator(); while(mapIt.hasNext()) { Map.Entry<Integer, String> data = mapIt.next(); System.out.println(data.getKey()+" "+data.getValue().charAt(0)); } //클래스를 generic으로 설계 MyGenerics obj = new MyGenerics(); obj.setTemp("갈비탕"); System.out.println(obj.getTemp()); obj.setTemp(new Date()); System.out.println(obj.getTemp()); MyGenerics intObj = new MyGenerics(); intObj.setTemp(123+"원"); System.out.println(intObj.getTemp()); MyGenerics<List<Book>, Integer> objobj = new MyGenerics(); objobj.setTemp(myBooks); } } | cs |
'KH정보교육원_웹 프로그래머 과정 > Java' 카테고리의 다른 글
네트워크 Network (0) | 2021.02.23 |
---|---|
스레드 Thread (0) | 2021.02.23 |
문자기반 스트림 Reader, Writer (0) | 2021.02.18 |
입출력 IO (0) | 2021.02.17 |
예외처리 Exception (0) | 2021.02.16 |