3. Map(**)


- 데이터를 저장할때 key와 value가 한쌍으로 저장되는 자료구조


- key값은 중복될 수 없으며 value는 중복이 가능하다.


- 데이터 검색시 유용하다.



ex>

package test01.util;

import java.util.HashMap;

public class Test03_Map

{

    public static void main(String[] args)

    {

        //key타입은 Integer,value타입은 String을 갖는 HashMap생성

        HashMap<Integer,String> map=new HashMap<Integer,String>();


        //Map에 값을 저장할때는 put메소드를 사용해 key와 value를 한쌍으로 저장한다.

        //V put(K key, V value)  

        map.put(1,"홍길동");

        map.put(2,"유관순");

        map.put(3,"김유신");


        //public V get(Object key)

        //키값(2)에 해당하는 value(유관순)을 얻어옴

        String aa=map.get(2);

        System.out.println(aa);

    }

}

 

 

 

ex> Map

package test01.util;

public class Person

{

    private String name;

    private String phone;


    public Person(String name,String phone)

    {

        this.name=name;

        this.phone=phone;

    }

    public String getName()

    {

        return name;

    }

    public String getPhone()

    {

        return phone;

    }

}


package test01.util;

import java.util.HashMap;

import java.util.Scanner;

public class Test04_Map

{

    public static void main(String[] args)

    {

        Person per1=new Person("홍길동","010-111-1234");

        Person per2=new Person("홍길서","010-222-5678");

        Person per3=new Person("홍길남","010-333-0987");    


        //key값은 String,value값은 Person객체를 갖는 Map객체 생성

        HashMap<String,Person> map=new HashMap<String,Person>();


        //이름을 key값으로 Person객체를 value값으로 Map추가

        map.put(per1.getName(),per1);

        map.put(per2.getName(),per2);

        map.put(per3.getName(),per3);


        System.out.println("찾을 이름 입력");

        Scanner scan=new Scanner(System.in);

        String find=scan.next();


        //find를 key로 사용해서 검색하기


        Person per=map.get(find);

        if(per!=null){

            System.out.println("이름:"+per.getName() +",전화번호:" + per.getPhone());

        }else{

            System.out.println("해당 정보가 존재하지 않아요!");

        }

    }

}



 

ex> Map

package test01.util;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

public class Test05_Map

{

    public static void main(String[] args)

    {

        Map<Integer,String> map=new HashMap<Integer, String>();


        map.put(1,"홍길동");

        map.put(2,"홍길서");

        map.put(3,"홍길남");

        map.put(4,"홍길북");


        //Map의 key값은 중복을 허용하지 않음


        //데이터가 수정됨

        map.put(4,"홀길동");


        String value=map.get(4);


        //key값이 4인 요소 삭제

        map.remove(4);


        //public Set<K> keySet()

        //map.keySet(): map에 담긴 key값을 Set에 담아서 리턴

        Set<Integer> st=map.keySet();


        //Iterator<E> iterator()  

        //Set에 담긴 요소(key값들)을 꺼내오기 위한 Iterator얻어오기

        Iterator<Integer> it=st.iterator();


        //다음요소가 있으면 true

        while(it.hasNext())

        {

            //다음요소(key값) 꺼내오기

            Integer key=it.next();


            //key에 대응되는 Value 꺼내오기

            String val=map.get(key);


            System.out.println(val);

        }

    }

}




 

+ Recent posts