SSISO Community

시소당

2-1. Collection 인터페이스

package  java.util;

        public  interface  Collection  {
                //  Query  Operations
                int  size();
                boolean  isEmpty();
                boolean  contains(Object  o);
                Iterator  iterator();
                Object[]  toArray();
                Object[]  toArray(Object  a[]);

                //  Modification  Operations
                boolean  add(Object  o);
                boolean  remove(Object  o);

                //  Bulk  Operations
                boolean  containsAll(Collection  c);
                boolean  addAll(Collection  c);
                boolean  removeAll(Collection  c);
                boolean  retainAll(Collection  c);
                void  clear();

                //  Comparison  and  hashing
                boolean  equals(Object  o);
                int  hashCode();
        }

위  코드에서  주석으로  설명된  부분에서  알  수  있듯이  기능에  따라  4가지  분류의  메소드들로  나눌  수  있다.  그럼  각  기능에  따른  메소드들을  자주  사용되는  것들  위주로  간단히  살펴보도록  하겠다.

첫번째로  쿼리(Query)  오퍼레이션들을  살펴보자.  쿼리  오퍼레이션은  컬렉션  안에  저장된  요소의  개수(size()  메소드)나  저장된  요소가  있는지(isEmpty()  메소드),  컬렉션  안에  해당  메소드  안에  파라미터로  전달한  Object  요소가  들어있는지(contains(Object  o)  메소드)  등의  여부를  질의하는  메소드들의  분류다.  나중에  예제  소스에서도  살펴보겠지만  iterator()  메소드는  컬렉션  안에  저장된  요소들을  Iterator  에  순차적으로  저장한  후  그  Iterator  객체를  리턴해준다.

두번째는  변경(Modification)  오퍼레이션들이다.  메소드  이름만으로도  쉽게  알  수  있듯이  하나의  요소를  컬렉션에  추가(add(Object  o)),  삭제(remove(Object  o))  하는  메소드들이다.

세번째는  대량으로  요소의  변경을  가하는  오퍼레이션들이다.  여기서  상당히  간편하게  사용될  수  있는  addAll(Collection  c)  메소드가  있는데  이것은  파라미터로  들어온  컬렉션  객체가  갖고  있는  요소들  모두를  저장하는  메소드이고  removeAll(Collection  c)  메소드는  반대로  파라미터로  들어온  컬렉션  객체가  갖고  있는  요소들  모두를  제거한다.  이외에  clear()  메소드는  해당  컬렉션  객체의  모든  요소를  전부  제거한다.

마지막으로  비교(Comparison)  및  해싱(Hashing)을  위한  오퍼레이션들을  정의하는  메소드다.  자주  쓰이지  않으므로  별도의  언급은  하지  않겠다.

580 view

4.0 stars