본문 바로가기

분류 전체보기216

HashMap<K, V> 클래스 HashMap- java.util.HashMap- '키(key)'와 '값(value)'의 쌍으로 구성되는 요소를 다루는 컬렉션- K에는 '키'로 사용할 데이터 타입, V에는 '값'으로 사용할 데이터 타입 지정- 키와 값이 한 쌍으로 삽입- 키는 해시맵에 삽입되는 위치 결정에 사용- 값을 검색하기 위해서 키 이용HashMap h = new HashMap();//키와 값이 모두 String 타입인 해시맵 생성h.put("apple", "사과"); //"apple" 키와 "사과" 값의 쌍을 h에 삽입String kor = h.get("apple");//"apple" 키로 값 검색하여 검색된 값인 "사과"를 kor에 저장- put(key, value) 메소드는 키와 값을 받아 키를 이용하여 해시 함수를 실행하고.. 2024. 6. 9.
Iterator<E> 인터페이스 Iterator 인터페이스- java.util- Vector, ArrayList, LinkedList가 상속받는 인터페이스- Vector, ArrayList, LinkedList, Set과 같이 요소가 순서대로 저장된 컬렉션에서 요소를 순차 검색할 때 사용Vector v = new Vector(); //요소가 Integer 타입인 벡터Iterator it = v.iterator(); //벡서 v의 요소를 순차 검색할 Iterator 객체 리턴- 벡터 v의 요소 타입(=Integer)에 맞추어 Integer의 E에 Integer를 지정- 벡터 v의 iterator()를 호출, v의 각 요소를 순차적으로 검색할 수 있는 반복자(Iterator 객체)while(it.hasNext()){ //it로 벡터의 끝까.. 2024. 6. 9.
ArrayList<E> ArrayList의 특성 java.util.ArrayList- 에서 E 대신 요소로 사용할 특정 타입을 지정하여 구체화- 가변 크기의 배열을 구성한 클래스 ArrayList에 삽입 가능한 것- 객체- null- 기본 타입은 Wrapper 객체로 만들어 저장  ArrayList에 객체 삽입/삭제- 리스트의 맨 뒤에 객체 추가- 리스트의 중간에 객체 삽입- 임의의 위치에 있는 객체 삭제 가능 벡터와 달리 스레드 동기화 기능 없음- 다수의 스레드(멀티스레드)가 동시에 ArrayList에 접근할 때 동기화되지 않음- 개발자가 스레드 동기화 코드 작성  →ArrayList 클래스는 Vector 클래스와 거의 동일하지만 스레드 간 동기화를 지원하지 않으므로 ArrayList에 요소를 삽입하거나 삭제할 때 Array.. 2024. 6. 9.
Vector<E> Vector의 특성 java.util.Vector- 에서 E 대신 요소로 사용할 특정 타입을 지정하여 구체화 여러 객체들을 삽입, 삭제, 검색하는 컨테이너 클래스- 배열을 가변 크기로 다룰 수 있게 함 → 배열의 길이 제한 극복- 원소의 개수에 따라 자동으로 크기 조절 Vector에 삽입 가능한 것- 객체- null- 기본 타입은 Wrapper 객체로 저장 Vector에 객체 삽입- 벡터의 맨 뒤에 객체 추가- 벡터 중간에 객체 삽입 Vector에서 객체 삭제- 임의의 위치에 있는 객체 삭제 가능- 객체 삭제 후 자동으로 자리 이동 벡터 생성Vector v = new Vector();- Vector의 E에 요소로 사용할 타입을 지정(위 경우는 Integer 타입)- int, double, char 등의 .. 2024. 6. 8.
컬렉션과 제네릭 컬렉션(collection)- 요소(element) 객체들의 저장소(컨테이너)- 컬렉션은 제네릭(generics) 기법으로 구현- 컬렉션의 요소는 객체만 가능 배열 vs 컬렉션배열컬렉션- 삽입과 삭제가 빈번- 데이터의 크기를 예측할 수 없는 프로그램에서 사용이 불편- 고정 크기의 배열 사용이 어려운 경우 O- 객체들을 쉽게 삽입, 삭제, 검색 가능- 가변 크기의 컨테이너 → 요소의 개수에 따라 크기 자동 조절- 요소의 삽입, 삭제에 따른 요소 위치 자동 이동컬렉션을 위한 자바 인터페이스와 클래스- 개발자는 컬렉션 클래스를 바로 사용 가능- 모두 Collection를 상속받음 Vector, ArrayList: 가변 크기의 배열 구현LinkedList: 노드들이 링크로 연결되는 배열 구현Stack: 스택 구.. 2024. 6. 8.
Calendar 클래스 Calendar 클래스- java.util 패키지의 추상클래스- 시간과 날짜 정보 관리 Calendar 객체 생성 - 현재 날짜와 시간Calendar now = Calendar.getInstance();- Calendar 클래스는 추상 클래스이므로 new Calendar() 사용하지 않고 getInstance() 메소드 사용 날짜와 시간 알아내기int year = new.get(Calendar.YEAR); //현재 연도int month = now.get(Calendar.MONTH)+1; //현재 달- 날짜와 시간을 알아내기 위해 get() 메소드에 필드 사용(위의 표 참고)- get(Calendar.MONTH)는 n월달일 때 n-1을 리턴하므로 1을 더함 날짜와 시간 설정하기Calendar firstDa.. 2024. 6. 7.