본문 바로가기
Java&Spring

Java_ interface

by JINJINC 2022. 8. 4.
728x90
반응형

-Collection interface : 컬렉션 클래스에 저장된 데이터를 읽고, 추가하고 삭제하는 등 컬렉션을 다루는데 가장 기본적인 메서드들을 저장하고있다.

메서드 Collection c 설명
boolean add(Object o)
bollean addAll(Collection c)
c.add(Object c);
c.addAll(Collection c);
지정된 객체 o또는 콜렉션의 객체들을 콜렉션에 추가한다.
void clear() c.clear(); collection의 모든 객체를 삭제한다.
boolean contains(Object o)
boolean containsAll(Collection c)
c.contains(Object o);
c.containsAll(Collection c);
지정된 객체(o) 또는  collection의 객체들이  collection에 포함되어 있는지 확인한다.
boolean equals(Object o) c.equals(Object c) 동일한  collection인지 비교한다.
int hashCode() c.hashCode(); collection 의 hashcode인지 비교한다.
boolean isEmpty() c.isEmpty(); collection이 비어있는지 확인한다.
Iterator iterator() c.iterator(): collection 의 iterator을 얻어서 반환한다.
boolean remove(Object o) c.remove(Object c); 지정된 객체를 삭제한다.
boolean removeAll(Collection c) c.removeAll(Collection c); 지정된  collection에 포함된 객체들을 삭제한다.
boolean retainAll(Collection c) c.retainAll(Collection c); 지정된 collection에 포함된 객체만을 남기고 다른 객체들은 collection에서 삭제한다. 이 작업으로 인해 collection에 변화가 있으면 true를 그렇지 않으면  false를 반환한다.
int size() c.size(); collection에 저장된 객체의 개수를 반환한다.
Objec[] toArray() c.toArray(); collection에 저장된 객체를 객체배열(Object[])로 반환한다.
Object[] toArray(Object[] a) c.toArray(Object[] a); 지정된 배열에 collection의 객체를 저장해서 반환한다. 

 

 

- Set : set 인터페이스 중복을 허용하지 않고 저장순서가 유지되지 않는 컬렉션 클래스를 구현하는데 사용한다.

hashset , treeset으로 구현하여 사용한다.

 

- Map : map 인터페이스는 키와 값을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스를 구현하는데 사용한다. 

           set keySet():, collection values();   이 두 경우 맵인터페이스에서 값은 중복을 허용하기 때문에 colllection

           타입으로 반환하고, 키는 중복을 허용하지 않기 때문에 set 타입으로 반환한다

메서드 Map m 설명
void clear() m.clear(); Map의 모든 객체를 삭제한다.
boolean containsKey(Object key) m.cotainsKey(Object key); 지정된 key객체와 일치하는 Map의 키 객체가 있는지 확인한다.
boolean containsValue(Object value) m.containsValue(Object value); 지정된 값객체와 일치하는 Map의  values객체가 있는지 확인한다.
Set entrySet() m.entrySet(); 맵에 저장되어 있는  key-value쌍을 Map.Entry  타입의 객체로 저장한 Set으로 반환한다. 
boolean equals(Object o) m.equals(Object o); 동일한 맵인지 비교한다.
Object get(Object key) m.get(Object key); 지정한 키객체에 대응하는 value객체를 찾아서 반환한다.
int hashCode() m.hashCode(); 해시코드를 반환한다.
boolean isEmpty() m.isEmpty(); 맵이 비어있는지 확인한다.
Set keySet() m.keySet(); 맵에 저장된 모든 key객체를 반환한다.
Object put(Object key. Object value) m.put(Object key, Object value); 맵에 value객체를 key객체에 연결하여 저장한다.
void putAll(Map t) m.putAll(Map t); 지정된 map의 모든 key-value쌍을 추가한다.
Object remove(Object key) m.remove(Object key); 지정한  key객체와 일치하는 key-value 객체를 삭제한다.
int size() m.size(); 맵에 저장된 key-value 쌍의 개수를 반환한다.
Collection values() m.values(); map에 저장된 모든 value 객체를 반환한다. 

 

-map.Entry(); :  맵 인터페이스의 내부 인터페이스이다.

  • boolean equals(Object o); : 동일한 엔트리인지 비교한다.
  • Object getKey(); : 엔트리의 키 객체를 반환한다.
  • Object getValue(); : 엔트리의 값 객체를 반환한다. 
  • int hashCode(); : 엔트리의 해시코드를 반환한다.
  • Object setValue(Object value); : 엔트리의 값객체를 지정된 객체로 바꾼다.

 

※Iterator, ListITerator, Enumeration은 모두 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스이다. 

- Iterator 

public interface Iterator{
	boolean hasNext(); // 읽어올 요소가 남아있는지 확인한다. 있으면  true, 없으면 false
    Object next(); // 다음 요소를 읽어온다. next()를 호출하기 전에 hasnext()를 호출해서 읽어올 요소가
    			  // 있는지 확인하는 것이 안전하다
    void remove(); //next()로 읽어온 요소를 삭제한다. next()를 호출한 다음에 remove()를 호출해야한다. 
 }
 public interface Collection{
	....
    public Iterator iterator();
    .....
}
Collection c = new ArrayList();
Iterator it= c.iterator();

while(it.hasNext()){
 System.out.println(it.next());
 }

 - ArrayList 대신 Collection인터페이스를 구현한 다른 컬렉션 클래스의 객체를 생성하도록 변경하기만 하면된다. 

Collection 타입의 참조변수로 선언하는것이 좋다. 나중에 변환할때 포괄적인 collection이 다루기 편하기 때문이다. 

728x90
반응형

'Java&Spring' 카테고리의 다른 글

Java_Hash  (0) 2022.08.04
JSP_day04[Response status code]  (0) 2022.07.19
JSP_day03[ 파라미터]  (0) 2022.07.19

댓글