본문 바로가기

Web Dev/JAVA

제네릭 , 콜렉션프레임워크 (2) -코드

import java.util.ArrayList;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.LinkedList;

import java.util.List;

import java.util.Map;

import java.util.Set;


public class SetTest {

    public static void main(String args[]) {

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

        //Map<String,Integer> 

        map.put("aa", "1");

        map.put("bb", "2");

        map.put("cc", "3");

        //map.put("aa","6"); --->위험한 발상 

        

        //혹시라도 순번을 정하고 싶을때 new LinkedHashMap<>(); 이녀석은 꽤 쓰여짐 Linked는 순번으로 꽤 늦어지기때문에 빨리실행시키고싶을때는 그냥HashMap 

        map.entrySet(); //언급됌 

        //map.forEach(action);

        

        if(!map.containsKey("aaa")){

            map.remove("aa");

            map.put("aa","6");

        }

        //for 문 사용 가능 

        //key만 이용 

        Set<String> keySet = map.keySet();//set은 순번 신경쓰지않는다. list를 안 쓴 이유는 map도 순번을 신경 안쓰기 때문이다.

        //map은 신졸들이 가지고 있는 상자, 이름key을 찾으면 상자가 통 하고 나

        for (String key :keySet){

            System.out.println(key);

        }

        String value = map.get("aa"); //이름만 붙여서 취할 수 있음 / 연속배열 

        //Integer value 

        System.out.println(value);

        

        /**

         * 맵도 결국 중복이 되서는 안된다. 키는 유니크.

         * 자바의 맵은 上書きになる

         * for문으로 돌리는 것 보다는 직접 지정해주는게 더 빠름 

         * Map은 콜렉션 프레임워크가 아닌 ,collection 인스턴스 (set,list) 와

         * Map이 있는 것임. 그래도 콜렉션 전체의 것을 향하고 있기 때문에 콜렉션 프레임워크 클래스

         * 

         * map key는 object형이라면 무엇이든 되지만 대부분 String으로 쓰여진다 .

         * 

         */

        

        //value도 돌리기 가능함 value는 Collection상태가 되어야한다 

        Collection<String> values = map.values();

        for (String value : values) {

            System.out.println(value);

        }//set도 list 이외의 콜랙션임 

        

        Set<String> keySet = map.keySet();

        for(String key : keySet) {

            System.out.print(key + map.get(key));

        }

    }

}

'Web Dev > JAVA' 카테고리의 다른 글

자바8 Stream정리  (0) 2015.06.19
제네릭 , 콜렉션프레임워크 (1) -코드  (0) 2015.05.15
오늘의 java 예외처리  (0) 2015.05.12
예외처리 오늘 분 // 이해필요  (0) 2015.05.12
목이 뻐근타  (0) 2015.04.30