"사과" : "apple"
key : value -> 1pair == web json key:value
Tree 구조
key 는 중복되지 않는다
List : 선형 구조 o-o-o-o-o-o-o
TreeMap = HashMap + Sorting(key)
선언
HashMap<Integer, String> hMap = new HashMap<Integer, String>();
추가
// 추가 key value
hMap.put(111, "백십일");
hMap.put(222, "이백이십이");
hMap.put(333, "삼백삼십삼");
value확인
// value 취득
String value = hMap.get(222);
System.out.println("value:" + value);
or
if(hMap.containsKey(333)) {
value = hMap.get(333);
System.out.println("value:" + value);
}
삭제
// 삭제
String val = hMap.remove(222);
검색
// 검색
// 있다/없다
boolean b = hMap.containsKey(new Integer(333));
System.out.println("b = " + b);
수정
// 수정
hMap.put(111, "100 + 10 + 1");
hMap.replace(222, "200 + 22");
모두 출력
0 ~ n-1 가 아님 -> 순서대로 데이터가 저장되어 있진 않다 (Tree 형식)
->> Iterator 사용
->> Map에 값을 전체 출력하기 위해서는 entrySet(), keySet() 메소드를 사용하면 되는데 entrySet() 메서드는 key와 value의 값이 모두 필요한 경우 사용하고, keySet() 메서드는 key의 값만 필요한 경우 사용합니다.
Iterator 인터페이스를 사용할 수 없는 컬렉션인 Map에서 Iterator 인터페이스를 사용하기 위해서는 Map에 entrySet(), keySet() 메소드를 사용하여 Set 객체를 반환받은 후 Iterator 인터페이스를 사용하시면 됩니다.
->>hasNext() 문자열 있는지 검사
->>next() 문자열 반환
// key값을 모두 취득 => iterator
Iterator<Integer> it = hMap.keySet().iterator();
while(it.hasNext()) {
Integer key = it.next();
System.out.println("key:" + key);
String _value = hMap.get(key);
System.out.println("value:" + _value);
}
class입력
HashMap<Integer, MyData> dMap = new HashMap<Integer, MyData>();
// 추가
dMap.put(1001, new MyData(1, "홍길동"));
dMap.put(1002, new MyData(2, "일지매"));
dMap.put(1003, new MyData(3, "춘향이"));
dMap.put(1004, new MyData(4, "정수동"));
// 삭제
dMap.remove(3);
// 검색
boolean ans = dMap.containsKey(1001);
System.out.println("ans = "+ans);
// 수정
dMap.replace(1004, new MyData(4, "몽룡이"));
System.out.println();
// 출력
Iterator<Integer> is = dMap.keySet().iterator();
while(is.hasNext()) {
Integer key = is.next();
System.out.println("key:" + key);
MyData _value = dMap.get(key);
System.out.println("value:" + _value);
}
}
dto
public class MyData {
private int number;
private String name;
public MyData() {
}
public MyData(int number, String name) {
super();
this.number = number;
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "MyData [number=" + number + ", name=" + name + "]";
}
}
'JAVA > 쓸만한 코드' 카테고리의 다른 글
stack//스택// 원리 코드 (0) | 2020.06.10 |
---|---|
Map//Baseball 야구멤버 (0) | 2020.06.09 |
DTO 기본형 (0) | 2020.06.04 |
로봇, 배열별 메서드를 다른 메서드에서 if로 나눠담아 실행 (0) | 2020.06.04 |
함수//입력받고 loop (0) | 2020.06.02 |