package j_collection;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Set;
public class HashMapClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* Object put(Object key , Object value ) : 지정된 키와 값을 저장한다.
* Object value : 저장할 값
* Object remove(Object key ) : 지정된 키로 저장된 값을 제거한다. ( 키와 값을 삭제를 한다. )
* Object get (Object key) : 지정된 키의값(없으면 null ) 을 반환한다.
* Set keySet () : 저장된 모든 키를 Set 으로 반환한다. ( 모든 키들만 가지고 온다. SET 이라는 형태 )
* Set 특징 : 중복되는 것은 저장이 안된다.
* 인덱스에 저장을 하는게 아니라 key 를 만들어서 key에 저장을 한다.
* 순서가 없다.
*/
HashMap<String, Object> map = new HashMap<>(); //해쉬멥 객체생성
//<> 제네릭 //컬렉션
map.put("a", 10);
map.put("b", "홍길동");
map.put("c", new Date());
System.out.println(map);
// 출력되는 순서가 없다.
map.put("b", "이순신"); // 덮어쓴다.
System.out.println(map);
map.remove("a");
System.out.println(map);
Object value = map.get("b");
System.out.println(value);
Set<String> keys = map.keySet(); // 저장된 모든 키를 돌려준다.
for(String key : keys){
System.out.println(key + " : " + map.get(key));
}
// for ( String key : keys )
//keys 값이 key 에 넣어서 실행을 한다. keys 값이 다 뽑힐 때 까지
// 데이터베이스와 연관해서 사용할때 Hashmap 을 사용하거나 Class 를 사용하여 각각 컬럼을 저장해서 데이터를 저장할 수 있다.
HashMap<String, Object > lprod = new HashMap<>();
lprod.put("LPROD_ID", 1);
lprod.put("LPROD_GU" , "P101");
lprod.put("LPROD_NM", "컴퓨터제품");
ArrayList<HashMap<String, Object >> table = new ArrayList<>();
table.add(lprod);
System.out.println(table);
lprod = new HashMap<>();
lprod.put("LPROD_ID" , 2);
lprod.put("LPROD_GU" , "P102");
lprod.put("LPROD_NM" , "전자제품");
table.add(lprod);
System.out.println(table);
//변수의 이름 바꾸기 ctrl + 1 -> rename
HashMap<String, Object> dept = new HashMap<>();
dept.put("deptno", "10");
dept.put("dname", "ACCOUNTING");
dept.put("LOC", "NEW YORK");
ArrayList<HashMap<String, Object>> dept_table = new ArrayList();
dept_table.add(dept);
System.out.println(dept_table);
dept = new HashMap<>();
dept.put("deptno", "20");
dept.put("dname", "RESEARCH");
dept.put("LOC", "DALLAS");
dept_table.add(dept);
System.out.println(dept_table);
dept = new HashMap<>();
dept.put("deptno", "30");
dept.put("dname", "SALES");
dept.put("LOC", "CHICAGO");
dept_table.add(dept);
dept.put("deptno", "40");
dept.put("dname", "OPERATIONS");
dept.put("LOC", "BOSTON");
dept_table.add(dept);
System.out.println(dept_table);
for ( int i = 0 ; i < dept_table.size(); i++){
HashMap<String , Object> d = dept_table.get(i);
Set<String> keyset = d.keySet();
for( String key : keyset){
System.out.println(key + " : " + d.get(key));
}
System.out.println("-------------------------------------");
}
//간단하게 써주기
/* for ( int i = 0 ; i < dept_table.size(); i++){
HashMap<String , Object> d = dept_table.get(i);
for( String key : d.keyset()){
System.out.println(key + " : " + d.get(key));
*/
}
}
댓글
댓글 쓰기