Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Kim Hyeong

15 Collections FrameWork 본문

java 공부

15 Collections FrameWork

김형완 2018. 8. 10. 10:19

************************

다시 공부할 필요가 있음

************************


Collections FrameWork

 

값을 담을 수 있는 그릇을 의미한다.(컨테이너)

다수의 데이터를 담을 수 있는 그릇

LIST : 값을 순서대로 저장하는 순서가 있는 집합

중복 허용, index 값이 존재

SET : 중복 허용X 순서를 유지하지 않음

순서가 없기 때문에 index가 존재하지 않는다.

get이라는 메소드도 없다.

Iterator으로만 값을 가져온다

 




 

Map : key, value 값이 쌍으로 저장하기 위해 사용

 

*Iterator(반복자) : 각각의 요소에 접근을 할 수 있다.

boolean hasNext() 메소드는 읽어 올 요소가 남아있는지 확인하는 메소드이다.

있으면 true, 없으면 false를 반환한다.

Object next() 메소드는 읽어 올 요소가 남아있는지 확인하는 메소드이다.

있으면 true, 없으면 false를 반환한다.

void remove() 메소드는 next()로 읽어 온 요소를 삭제한다.

next() 를 호출한 다음에 remove() 를 호출해야 한다.

(선택적 기능이라 사용해도 그만 사용하지 않아도 그만이다)

Iterator는 다시 말해 인터페이스이다. 그렇다면 저 메소드들은 어떻게 정의가 되어있단 말인가?

List 혹은 Set 인터페이스를 구현하는 컬렉션은 iterator() 가 컬렉션의 특징에 맞게 설계가 되어있다.

 

HashSet

 

A.containsAll(B) //BA의 부분집합인 경우에 true 값을 반환

A.addAll(B); //합집합

A.retainAll(B); // 교집합

B.removeAll(A); // 차집합

 

자주 사용하는 메서드

자료를 보관하는 add 메서드, 삭제하는 remove 메서드, 모든 요소를 삭제하는 clear 메서드, 자신을 복제한 개체를 반환하는 clone 메서드, 특정 요소를 보관하였는지 판별하는 contains 메서드, 비었는지 판별하는 isEmpty 메서드, 반복자를 반환하는 iterator 메서드, 보관한 요소 개수를 반환하는 size 메서드

 

public boolean add(Object obj); //보관(같은 자료는 보관하지 않음)

public void clear(); //모든 요소 삭제

public Object clone(); //자신을 복제한 개체 반환

public boolean contains(Object obj); //보관한 자료인지 판별

public boolean isEmpty(); //비어있는지 판별

public Iterator<Element> iterator(); //반복자 반환

public boolean remove(Object obj);//보관한 자료를 제거

public int size();//보관한 자료 개수 반환

 

map

key 값과 value값과 같이 들어간다.

ex) 서울지역의 지역번호는 02

02key값이 되고, ‘서울value 값이 된다.

key 값은 중복을 허용하지 않고 value값은 중복을 허용한다.

값을 이룰 때 하나의 쌍으로 저장된다.

 

entry 객체에 선언되어있는 메소드를 이용하여 데이터에 접근을 한다.

값을 넣을 때 put() 메소드를 사용한다. 가져오는 메소드는 getValue() getKey() get(“Key”)


entryset 을 사용하면 iterator 를 사용한다.

 

다음은 Map 인터페이스에 약속한 주요 기능입니다.

 

//보관한 모든 쌍을 제거

public void clear();

 

//특정 key를 보관하고 있는지 판별

public boolean containsKey(Key key);

 

//특정 value를 보관하고 있는지 판별

public boolean containsValue(Value value);

 

//Map에 보관한 key, value를 대응하는 Set 구하기

public Set<Map.Entry<Key, Value> > entrySet();

 

//key에 대응하는 value 구하기

public Value get(Key key);

 

//MapkeySet 구하기

public Set<Key> keySet();

 

//key, value 쌍 보관

public void put(Key key, Value value);

 

//src에 보관한 쌍 모두를 보관

public void putAll(Map<Key, Value> src);

 

//특정 key에 대응하는 key, value 쌍을 제거

public void Remove(Key key);

 

//보관한 개수

public int size();

 

//보관한 valueCollection 구하기

public Collection<Value> values();

'java 공부' 카테고리의 다른 글

14 Generic  (0) 2018.08.10
13 enum 클래스  (0) 2018.08.10
12 wrapper 클래스  (0) 2018.08.10
11 object Class  (0) 2018.08.10
10 예외처리  (0) 2018.08.10
Comments