DevTool/Java

컬렉션 - 컬렉션인퍼페이스.

말없제이 2009. 6. 8. 17:55

package ch09;

import java.util.*;

public class Ch0904
{
 public static void main(String[] args)
 {
  //Collection인터페이스:
  Vector a=new Vector();
  a.add("Banana");
  a.add("Milk");
  a.add("사이다");
  ArrayList b=new ArrayList();
  b.add("짜장면");
  b.add("스파게티");
  b.add("순대");
  //Collection은 인터페이스이므로 직접 개체생성이 불가능하다...
  //Collection c=new Collection();
  //Vector가 Collection인터페이스를 계승받은 클래스임을 알 수 있다.
  Collection c=a;
  //ArrayList도 Collection인터페이스를 계승받은 클래스임을 알 수 있다.
  Collection d=b;
  //add()나 size()메서드는 Collection인터페이스의 추상메서드이며
  //이를 각각 Vector나 ArrayList의 하위클래스에서 구현한 메서드로
  //짐작할 수 있다...
  c.add("콜라");
  c.size();
  //get메서드를 호출하지 못하는 이유는 get메서드는 추상메서드로
  //하위클래스에서 구현된 메서드가 아니기 때문이다...
  //고로 get을 사용하지 못하니까 for문을 이용한 순차접근이 불가능
  //아래와 같이Iterator인터페이스를 얻어서 Iterator인터페이스에서
  //제공하는 메서드로 값을 접근해야 한다.
  Iterator iter = c.iterator();
  while(iter.hasNext()==true)
  {
   String value = (String)iter.next();
   System.out.println("value"+value);
  }
 
 }
}