[컬렉션프레임워크]

           Collection(자료구조에 관련된 인터페이스)

                           |

                           |

        List                                Set

          |                                     |

          |                                     |

  ArrayList,Vector,...               HashSet,TreeSet,...



  * List계열의 클래스

   - 값을 저장할 때 순서가 있다.

   - 중복된 값을 저장할 수 있다.


  * Set계열의 클래스

   - 값을 저장할 때 순서가 없다.

   - 중복된 값을 허용하지 않는다.




ex> 제너릭 사용/미사용 예

import java.util.HashSet;

import java.util.Iterator;

class Test05_Set{


    public static void main(String[] args)

    {

        HashSet<String> hs=new HashSet<String>();

        hs.add("봄");

        hs.add("여름");

        hs.add("가을");

        hs.add("겨울");

        hs.add(new String("여름"));


        // 제네릭을 사용하지 않은 경우

        //Iterator<E> iterator()  

        Iterator it=hs.iterator();

        while(it.hasNext())

        {

            String st=(String)it.next();

            System.out.println(st);

        }

        

        //제네릭을 사용한 경우

        Iterator<String> it2=hs.iterator();

        while(it2.hasNext())

        {

            String st=it2.next();

            System.out.println(st);

        }

    }

}








ex>HashSet객체에 Member객체 3개를 담고 데이터를 모두 출력해 보세요.

import java.util.*;

class Member{


    private String id;

    private String pwd;


    public Member(String id,String pwd)

    {

        this.id=id;

        this.pwd=pwd;

    }

    public String getId()

    {

        return id;

    }

    public String getPwd()

    {

        return pwd;

    }

    

    //equals메소드 오버라이딩:두 객체의 id와 pwd가 일치하면 true리턴

    public boolean equals(Object obj)

    {

        Member mm=(Member)obj;

        if(id.equals(mm.getId()) && pwd.equals(mm.getPwd()))

        {

            return true;

        }else

        {

            return false;

        }

    }


    //hashCode메소드 오버라이딩:두객체의 문자열이 같으면 동일한 해쉬코드반환

    public int hashCode()

    {

        return (id+pwd).hashCode();

    }

}


//HashSet객체에 Member객체 3개를 담고 데이터를 모두 출력해 보세요.

class  Test06_Set{


    public static void main(String[] args)

    {

        HashSet<Member> hs=new HashSet<Member>();

        hs.add(new Member("song","1234"));

        hs.add(new Member("kim","5678"));

        hs.add(new Member("lee","0000"));

        hs.add(new Member("kim","5678"));


        Iterator<Member> it=hs.iterator();

        while(it.hasNext())

        {

            Member mem=it.next();

            System.out.println(mem.getId() +","+ mem.getPwd());

        }

    }

}




 

 

'JAVA' 카테고리의 다른 글

자료구조 - Map  (0) 2014.09.12
자료구조 - Stack / TreeSet  (0) 2014.09.12
자료구조 API - 제네릭(Generic)  (0) 2014.09.12
자료구조 API - Vector 클래스  (0) 2014.09.12
자료구조 API - ArrayList  (0) 2014.09.12

+ Recent posts