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 |