분류 전체보기 121

제네릭 와일드카드 타입

코스 과정 클래스 //1) 과정이름과 수강생을 배열로 저장하는 구조 public class Course { private String name; // 과정이름 private T[] students; // 수강생 명단. Person[] students public Course(String name, int capacity) { this.name = name; students = (T[])(new Object[capacity]); // Person[] (new Object[5]) } public String getName() { return name;} public T[] getStudents() { return students;} // Person[] getStudents() public void add(..

JAVA 2022.10.12

제한된 타입 파라미터

// Number 추상클래스 : Byte, Short, Integer, Long클래스의 상위클래스 public class Util { // T extends Number : Number클래스 이거나 Number클래스를 상속, 구현한 클래스만 사용가능. (상위타입 제한) // T extends 인터페이스 : implements 키워드 사용안함. public static int compare(T t1, T t2) { double v1 = t1.doubleValue(); double v2 = t2.doubleValue(); return Double.compare(v1, v2); } } public class BoundedTypeParameterExample { public static void main(Str..

JAVA 2022.10.12

제네릭 메소드의 멀티 파라미터타입을 사용한 비교

public class Util { //제너릭 메소드 정의 : 다양한 데이타타입들을 사용하고 싶은 경우. // 비교목적 : 하나의 데이타타입에 해당하는 의미만 비교목적으로 사용했었는데 // 제너릭인 경우에는 여러 데이타타입들 비교목적으로 사용가능하다. public static boolean compare(Pair p1, Pair p2) { boolean keyCompare = p1.getKey().equals(p2.getKey()); boolean valueCompare = p1.getValue().equals(p2.getValue()); return keyCompare && valueCompare; } } public class Pair { private K key; private V value; pu..

JAVA 2022.10.12

제네릭 메소드

public class Util { /* 제네릭 메소드 문법구성 public static 리턴타입 메소드명(타입 매개변수) { return 변수; } 일반메소드 문법구성 public static 리턴타입 메소드명(타입 매개변수) { return 변수; } */ //제네릭 메소드 정의 : 메소드에 타입파라미터 작업. //메소드의 리턴타입 또는 매개변수에 사용하고자 하는 타입을 지정. public static Box boxing(T t){ Box box = new Box(); box.set(t); return box; } } // 제네릭 클래스 // : Integer public class Box { private T t; // 필드 Integer t; public T get() { return t;} //..

JAVA 2022.10.12

컬렉션 프레임웤 TreeMap

import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap; public class TreeMapExample1 { // 객체를 찾거나 범위검색에 속도가 빠르다. 그에 따른 메소드를 지원한다. // 이진트리로 구조를 갖고 있다. 데이타가 저장시 오름차순으로 정렬구조로 관리된다. public static void main(String[] args) { TreeMap scores = new TreeMap(); scores.put(new Integer(87), "김동연"); scores.put(new Integer(98), "송지은"); scores.put(new Integer(75), "송삼색"); scores.put(new Inte..

JAVA 2022.10.11

컬렉션 프레임웤 TreeSet

import java.util.TreeSet; public class TreeSetExample1 { // 객체를 찾거나 범위검색에 속도가 빠르다. 그에 따른 메소드를 지원한다. // 이진트리로 구조를 갖고 있다. 데이타가 저장시 오름차순으로 정렬구조로 관리된다. // 숫자데이터는 값으로 정렬, 문자열은 유니코드로 정렬 public static void main(String[] args) { TreeSet scores = new TreeSet(); scores.add(new Integer(87)); scores.add(new Integer(98)); scores.add(new Integer(75)); scores.add(new Integer(95)); scores.add(new Integer(80)); ..

카테고리 없음 2022.10.11

컬렉션 프레임웤 Hashtable

import java.util.Hashtable; import java.util.Map; import java.util.Scanner; public class HashtableExample { public static void main(String[] args) { Map map = new Hashtable(); map.put("spring", "12"); map.put("summer", "123"); map.put("fall", "1234"); map.put("winter", "12345"); //콘솔환경에서 데이터를 입력받아 읽어들이는 기능을 제공 Scanner scanner = new Scanner(System.in); while(true) { System.out.println("아이디와 비밀번호를..

JAVA 2022.10.11

컬렉션 프레임웤 HashMap

import java.util.*; import java.util.Map.Entry; public class HashMapExample1 { public static void main(String[] args) { //컬렉션 특징의 기억장소 구조 key:value 형태로 설계. Entry 표현 Map map = new HashMap(); //데이터저장 map.put("김동연", 85); map.put("송지은", 90); map.put("송삼색", 80); map.put("송지은", 95); // key가 중복되어 95가 저장되어 있음. System.out.println("총 Entry 수: " + map.size()); // 3 //데이터 읽기(객체 찾기) System.out.println("\t송지은..

JAVA 2022.10.11

컬렉션 프레임웤 Set 컬렉션

import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class HashSetExample1 { public static void main(String[] args) { //Set컬렉션? 특징 - 순서 유지안됨(주머니), 중복불가 //1)HashSet 클래스 // 제네릭에서 사용하는 타입파라미터 Set set = new HashSet(); //데이터 저장하기 set.add("Java"); set.add("JDBC"); set.add("Servlet/JSP"); set.add("Java"); set.add("MyBatis"); int size = set.size(); System.out.println("총 객체수:..

JAVA 2022.10.11