본문 바로가기

java45

Collection(Map) - 특징 : - 순서를 가지지 않는다 - key와 value 가 쌍으로 이루어진다 - key는 중복이 안되나, value는 중복이 가능하다 - 키가 중복되는 데이터가 있을 때 마지막 데이터값을 저장한다 1. HashMap : 일반적으로 많이 사용하는 Map 자료구조 2. HashTable : HashMap과 동일하나 Thread-Safe 해 동기화를 지원 3. LinkedHashMap : 순서를 가지지 않는 Map 자료구조와 달리 LinkedHashMap은 들어온 순서대로 순서를 가짐 4. TreeMap : TreeSet과 같이 정렬하여 데이터를 저장 -> 데이터 저장시 정렬로 인해 저장 시간이 다른 자료구조 대비 오래걸림 1. 선언 HashMap map = new HashMap() 2. 데이터 삽입 :.. 2022. 10. 12.
Iterator (반복자 패턴) - 자바의 컬렉션에 저장되어 있는 요소들을 읽어오는 인터페이스 - Collection 인터페이스를 상속받는 List와 Set 인터페이스에서도 iterator() 메소드 사용 주요 메서드 1. 선언 Iterator it = list.iterator(); 2. 데이터 존재 유무 확인 : hasNext() - 해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환함. 3. 다음 요소를 반환 : next() 4. 반환되는 마지막 요소를 제거 : remove() - 리스트를 반복자(iterator)를 사용하여 순회 while(it.hasNext()){ String str = (Strin.. 2022. 10. 11.
제네릭과 컬렉션 - 다수의 데이터를 효과적으로 처리할 수 있도록 표준화된 방법을 제공하는 클래스의 집합 - 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현 - 배열이 가진 고정 크기의 단점을 극복하기 위한 가변 크기의 컨테이너로 객체의 개수 고려 하지 않아도 된다- 컬렉션 내의 한 객체가 삭제되면 컬렉션이 자동으로 자리를 올겨준다 주요 인터페이스 List : 순서가 있는 데이터 집합, 데이터 중복 허용 (Vector, ArrayList, LinkedList, Stack, Queue) Set : 순서가 없는 데이터 집합, 데이터 중복 불허 (HashSet, TreeSet) Map : 키와 값이 쌍으로 이루어지는 데이터 집합, 순서가 없음. 키는 중복될 수 없지만.. 2022. 10. 11.
Collection(List) - 순서가 있는 데이터의 집합 - 데이터의 중복을 허용 1. ArrayList : 배열을 이용하여 만든 리스트. 각 데이터에 대한 인덱스를 가지고 있어 조회 기능에 유용 2. Vactor : ArrayList와 동일하게 배열로 만들어진 리스트. 동기화 처리로 인하여 무거워서 잘 쓰이지 않음 3. LinkedList :데이터의 삽입, 삭제가 빈번할 경우 유용 4. Stack : LIFO(Last-In-First-Out) 특성을 가지는 자료구조 - Collection 프레임워크의 일부로 List 인터페이스에서 상속받아 사용된다 - java.util 패키지에 포함되어 제공 - 기본 크기는 10이지만 객체가 추가되어 용량을 초과하면 자동으로 부족한 크기만큼 용량이 늘어난다 - 기본 Object형.. 2022. 10. 11.
래퍼 클래스(Wrapper class) - 기본타입의 데이터를 객체로 취급해야 하는 경우 8개의 기본타입에 해당하는 데이터를 객체로 포장해주는 클래스 - java.lang 패키지에 포함되어 제공 기본 타입 래퍼 클래스 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean - Integer 클래스와 Character 클래스만 기본타입과 이름이 다름 - 기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환 int i = 10; Integer intg = (Integer)i; Integer intg = new Integer(i); - 오토박싱(AutoBoxing) : 박싱이 필요한 상황에서 자바 컴파일러가 자동으로 처리 in.. 2022. 10. 11.
Calendar 클래스 - 자바에서 날짜, 시간 데이터를 쉽게 처리하도록 제공하는 추상 클래스로 다양한 필드와 메소드가 포함 되어있다. - java.util.Calendar 를 import 하여 사용 - getInstance() 로 객체 생성(추상클래스 이므로 new로 인스턴스를 생성할 수 없다) import java.util.Calendar; public class CalendarTest { public static void main(String[] args) { Calendar c = Calendar.getInstance(); } } - 주요 필드 1. YEAR : 년도 2. MONTH : 월 (1월을 상수 0으로 대응, 실제 월을 구할 땐 +1) 3. DATE, DAY_O.. 2022. 10. 11.