Collection
Collection이란?
여러개의 값을 효과적으로 관리하기 위한 객체
타입을 강제로 지정할 수 있음.(generic : type 관리)
넣는 데이터의 갯수에 따라서 저장 용량이 늘어나거나 줄어듬. (capacity : 가변용량 )
- array와의 차이점 : array: 같은 타입의 여러개의 값을 효과적으로 관리하기 위한 객체, generic(type 관리), capacity(가변 용량)
generic
: 프로그래머가 의도한 타입만 저장할 수 있도록 타입 강제시키는 것.
generic 사용 시 보통 T,E,K,V 를 사용하고 다른 알파벳을 이용해도 됨.
<T> : type <E >: element <K> : key <V> : value
? : wild card (알수 없는 타입)
capacity
넣는 데이터의 갯수에 따라서 저장 용량이 늘어나거나 줄어듬.
Vector(백터)
: 성장하는 배열 : 여러값을 효과적으로 관리하기 위한 객체 vector(a, b) : a의 용량을 가진 백터를 생성하는데 최대치를 넘게 추가할경우 b씩 추가해라 : 줄어들지는 않음. 100 - 10 : 값은 90이지만 공간은 100 그대로 .
a: 최대로 들어갈 수 잇는 용량(initial capacity).
b: 용량이 최대로 들어간 후 5씩 증가(capacity increment).
List Set Map

List ****: 값을 넣은 순서대로 배열됨, 중복가능
List<String> list = new ArrayList<String>();
- ArrayList<String> 이부분은 앞에는 List인데 뒤에는 ArrayList인 이유?: List아래에는 ArrayLIst와 LinkedList가 있다. 따라서, List클래스의 ArrayList를 사용하겠다 라는 것.
- :List는 interface 이과, ArrayList는 collection이기 때문에, ArrayList를 이용하여 객체생성을 하려고 사용.
Set ****: 넣은 값의 순서와 중복이 없음.
< set 배열로 가져오는법 > 방법 1. 향상된 포문으로 가져오기 for(Score s : set) 방법 2. 오브젝트 타입으로 배열로 만들어 가져오기 Object[] s = set.toArray(); 방법 3. Iterator 사용 : 컬랙션의 저장요소를 읽는 표준화된 방법 ( 커서있음 ) Iterator<Score> s = set.iterator(); ( list , set )
Iterator
: 컬랙션의 저장요소를 읽는 표준화된 방법 ( list , set 사용가능, map은 사용불가).
(iterate : 훑다. iterator:반복자, 훑어보는자)
Map<k,v> : 키값을 통해 value값에 접근
Map<k,v>: (key : 주소 , value : 값) : entry 를 통해 따로 가져올수있음
map과 entry 의 차이점
map 은 k,v와 되어있는데 발류값을 가지고 오고 싶으면 키로만 가져와야 하는데
entry는 키와 밸류의 한쌍을 따로 따로 가져올 수 있도록 함.
entrySet(): map 안에 있는 것들을 키 따로 벨류 따로 있는 엔트리로 바꿔야하며, map 안에 객체가 몇개 있는지 몰라서, Set으로 가져와서(collect)갯수를 세도록 하겠다.
<참고>
map.entrySet().iterator();
(map: map이 담겨있는 변수)
k,v 가 담겨있는 entry가 (collection이 리턴타입인)set안에 담기고, 이 set 을 iterator를 이용해서 저장된 값들을 읽는다.
<참고>
map.keySet().iterator();
(map: map이 담겨있는 변수)
키셋도 k로 가져오고 (리턴타입이 collection )따라서 set 안에 넣음 그리고 이 set 을 iterator를 이용해서 저장된 값들을 읽는다.
Entry
: Map 을 key 따로 value 따로 가져오는 방법 ( Map 사용가능 )
- entrySet() : key와 value의 값을 entry에 담아서 Set에 넣음.
- keySet() : 메서드는 key의 값만 출력
< 용어정리 >
.indexOf() :()안의 값을 찾아서 해당하는 인덱스를 리턴 , 못찾으면 -1을 리턴
.set(int a, String b) : a번지의 값을 b로 바꿔라.
Vector.get(i) : i 번지의 값을 가져와라
String.replace("a", "b"): 나의 a를 b로 바꿔라.
String.endsWith("a") : 끝자리가 만약 a로 끝나면, true 를 리턴해라.
collection.sort(List a , Comparator b)
: a를 b를 이용해서 정렬
: Comparator: 다른 객체가 2개의 객체를 비교해줌
Iterator.hasNext() : 그 다음 값이 있으면 true리턴.
Iterator.next(): 다음 값을 리턴.
hashmap(); : Map인터페이스를 상속받아서 map 이라는 객체를 생성함.
hashset(); : Set인터페이스를 상속받아서 set이라는 객체를 생성함.
Comparable과 Comparator 의 공통점과 차이점
공통점
:java 객체를 정렬
차이점
Comparable
:compareTo(Object other)
:각각의 "나(this)" 와 "다른객체(other)"를 비교. java에서 기본적으로 적용되는 정렬 기준.
Comparator
:compare(Object other1, Object other2) : 객체 1과 객체 2를 "심판"이 비교
:다른 객체가 2개의 객체를 비교해줌 , 첫번째 매개변수가 더 클 때 양수를 반환하여 오름차순으로 정렬.
'IT★_공부' 카테고리의 다른 글
자바의 Stream (0) | 2022.08.23 |
---|---|
자바의 Exception (0) | 2022.08.23 |
자바의 Class (0) | 2022.08.23 |
자바의 String (0) | 2022.08.22 |
자바의 배열 Array (0) | 2022.08.22 |