Java55 [Java] 컬렉션 프레임워크 - Queue<E> 인터페이스 스택(Stack)과 큐(Queue) 📌 스택(Stack) : LIFO(last-in-first-out) 가장 먼저 저장된 데이터가 가장 나중에 빠져나오는 자료구조. 📌 큐(Queue) : FIFO(first-in-first-out) 저장된 데이터 순으로 나오는 자료구조. Queue 인터페이스 📌 Queue 인터페이스의 메소드 : 꺼낼 인스턴스가 없거나 저장 공간이 부족하면 예외 발생함. boolean add(E e) 넣기. E remove( ) 인스턴스의 참조 값을 반환하면서 해당 인스턴스를 삭제. E element( ) 인스턴스의 참조 값 반환. 📌 Queue 인터페이스의 메소드 : 꺼낼 인스턴스가 없거나 저장 공간이 부족해도 예외 발생시키지 않고 특정 값 반환함. boolean offer(E e) 넣.. 2022. 10. 18. [Java] 컬렉션 프레임워크 - Set<E> 인터페이스 Set 인터페이스 📌 Set 인터페이스를 구현하는 컬렉션 클래스의 특징 ① 인스턴스의 저장 순서를 유지하지 않음. ② 동일한 인스턴스의 중복 저장을 허용하지 않음. HashSet 클래스 📌 HashSet 클래스 📄 HashSetTest.java package set; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class HashSetTest { public static void main(String[] args) { Set set = new HashSet(); set.add("apple"); set.add("banana"); set.add("cherry"); set.add("apple"); // 중복... 2022. 10. 18. [Java] 컬렉션 프레임워크 - List<E> 인터페이스 컬렉션 프레임워크 📌 컬렉션 프레임워크 : 데이터 저장 방법과 알고리즘에 대한 프레임워크. List 인터페이스 📌 List 인터페이스를 구현하는 컬렉션 클래스 ① ArrayList : 배열 기반 자료구조, 배열을 이용해 인스턴스 저장, ② LinkedList : 리스트 기반 자료구조, 리스트를 구성해 인스턴스 저장. 📌 List 인터페이스를 구현하는 컬렉션 클래스의 특징 ① 인스턴스의 저장 순서를 유지함. ② 동일한 인스턴스의 중복 저장을 허용함. 📌 ArrayList vs LinkedList 장점 단점 ArrayList - 저장된 인스턴스의 참조가 빠름. - 저장 공간을 늘리는 과정에서 시간이 많이 소요됨. - 인스턴스 삭제 과정에서 많은 연산 필요. 느림. LinkedList - 저장 공간을 늘리는 .. 2022. 10. 18. [Java] 와일드카드(Wildcard) 와일드카드(Wildcard) 📌 와일드카드(Wildcard) 📌 제네릭 메소드와 와일드 카드 기반 메소드는 기능적으로 같은 역할을 함. → 상호 대체 가능. 📌 와일드 카드(Wildcard) 사용 이유 : 코드 간결. 📄 WildcardTest.java package generics; class Box4 { // 제네릭 기반의 클래스. private T ob; public void set(T o) { ob = o; } public T get() { return ob; } @Override public String toString() { return ob.toString(); } } class Unboxer { public static T openBox(Box4 box) { return box.get();.. 2022. 10. 18. [Java] 제네릭(Generics) 제네릭(Generics) 📌 제네릭(Generics) : 일반화. 자바에서는 '자료형'이 그 대상임. class Box { ... } 📌 제네릭(Generics) 사용 이유 : 저장된 인스턴스를 사용할 때 형 변환을 하는데, 이때 실수로 오류가 발생할 수 있으며, 그 실수가 드러나지 않을 수 있음. → 위 상황의 불편함을 줄이기 위해 제네릭(Generics)이 등장함. → 자료형에 의존적이지 않은 클래스 정의 가능해짐. 📌 자료형에 의존하지 않기 위해 Object 대신 T 사용. T는 인스턴스 생성 시, 결정됨. T의 역할을 알려주기 위해 클래스 이름 뒤에 붙임. 📌 용어 ① 타입 매개변수(Type Parameter) : Box에서 T. ② 타입 인자(Type Argument) : Box boxA = n.. 2022. 10. 18. [Java] Array 클래스 Array 클래스 - 배열 복사 📌 public static int[] copyOf(int[] original, int newLength) : newLength의 길이만큼 복사. 새로운 배열 생성해서 복사 후 반환하는 메소드. 📌 public static int[] copyOfRange(int[] original, int from, int to) : original에 전달된 배열을 인덱스 from부터 to 이전까지 복사. 📌 public static int[] arraycopy(Object src, int srcPos, Object dest, int destPos, int length) : 배열 src의 srcPos에서 배열 dest의 destPos로 length 길이만큼 복사. Array 클래스 - 배.. 2022. 10. 17. [Java] StringTokenizer 클래스 StringTokenizer 클래스 📌 StringTokenizer 클래스 : public StringTokenizer(String str, String delim) String str : 추출할 문자열, String delim : 구분자 정보. 📌 public boolean hasMoreTokens( ) : 반환할 토큰 남아있는 지 확인하는 메소드. 📌 public String nextToken( ) : 다음 토큰 반환. package stringtokenizer; import java.util.StringTokenizer; public class StrignTokenizerTest { public static void main(String[] args) { StringTokenizer st1 = ne.. 2022. 10. 17. [Java] Math 클래스와 난수 생성 Math 클래스 📌 Math 클래스 : 수학 관련 다양한 연산을 제공하는 클래스. 📌 Math 클래스에 정의된 메소드는 모두 static으로 선언되어 있음. → 기능 제공 목적. 인스턴스 생성 목적 X. 📌 Math 클래스의 메소드 Math.PI 원주율 반환하는 메소드. Math.sqrt(n) n의 제곱근 반환하는 메소드. Math.toRadians( ) 라디안으로 반환하는 메소드. Math.toDegree( ) 디그리로 반환하는 메소드. Math.sin( ) sin값 반환하는 메소드. (인자를 전달할 때 라디안 단위의 값이어야 함. Math.cos( ) cos값 반환하는 메소드. (인자를 전달할 때 라디안 단위의 값이어야 함. Math.tan( ) tan값 반환하는 메소드. (인자를 전달할 때 라디안 .. 2022. 10. 17. 이전 1 2 3 4 5 6 7 다음