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);
}
}
}
'JAVA' 카테고리의 다른 글
Calendar 클래스 (0) | 2014.09.12 |
---|---|
자료구조 - ArrayList / 제네릭 클래스 / 확정for 문 (0) | 2014.09.12 |
자료구조 - Stack / TreeSet (0) | 2014.09.12 |
자료구조 API - Collection 프레임워크 (0) | 2014.09.12 |
자료구조 API - 제네릭(Generic) (0) | 2014.09.12 |