java/개념68 제네릭 만들기 제네릭 클래스 작성- 기존의 클래스 작성 방법과 유사하게 작성- 클래스 이름 다음 사이에 일반화된 타입 매개변수 추가public class MyClass{ T val; //T 타입 변수 val void set(T a){ val = a; } T get(){ return val; }} 제네릭 클래스에 대한 레퍼런스 변수 선언- 타입 매개변수에 구체적인 타입 작성MyClass s; //를 String으로 구체화List li; //를 Integer로 구체화Vector vs; //를 String으로 구체화 제네릭 객체 생성: 구체화(specialization)- 제네릭 타입 클래스에 구체적인 타입을 대입하여 객체 생성- 컴파일러에 의해 이루어짐- 제네릭 구체화에 기본 타입 사.. 2024. 6. 10. LinkedList<E> 클래스 LinkedList- java.util.LinkedList- List 인터페이스를 구현한 컬렉션 클래스- Vector, ArrayList 클래스와 유사하게 작동- 맨 앞과 맨 뒤를 가리키는 head, tail 레퍼런스- 인덱스를 이용하여 요소에 접근 가능LinkedList l = new LinkedList();Collections 클래스- java.util 패키지에 포함- 컬렉션을 다루는 여러 메소드 지원sort(): 컬렉션에 포함된 요소들 정렬reverse(): 요소를 반대 순으로 정렬max(), min(): 요소들의 최댓값과 최솟값 찾아내기binarySearch(): 이진 검색- 컬렉션에 대해 연산을 수행하고 결과로 컬렉션 리턴- Collections 클래스의 모든 메소드는 static 타입이므로 C.. 2024. 6. 10. 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. 이전 1 2 3 4 5 6 7 ··· 12 다음