Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- git
- 스타일보험
- kotlin
- 상속
- webpack
- 미니게임
- 쿠키
- 숫자
- 오버라이드
- 게시판
- 시큐어코딩
- 스프링
- 답글
- React
- FIle
- Spinner
- Android
- 함수
- java#왕초보
- sub query
- degit
- 코틀린
- 왕초보
- parcel
- 안드로이드
- snowpack
- Spring
- 버전일치
- SQL
- java
Archives
- Today
- Total
YSHUSH
Hash map 본문
public class MainClass {
public static void main(String[] args) {
/*
ArrayList : 검색, 대입
LinkedList : 실시간 추가 / 삭제 처리가 빠르다
*/
LinkedList<String> list = new LinkedList<String>();
list.add("Tigers");
list.add(new String("Lions"));
list.add("Giants");
for (String s : list) {
System.out.println(s);
}
list.addFirst("Bears"); // = list.add(0, "Bears");
// ArrayList에는 없음
ArrayList<String> alist = new ArrayList<String>(list);
for (String str : alist) {
System.out.println(str);
}
System.out.println( list.get(0) );
String ss = "Twins";
list.set(2, ss);
for (String str : list) {
System.out.println(str);
}
/*
Map : 사전
HashMap
Key : value -> 한쌍(Pair)
"사과" : "apple"
key값으로 관리한다.
Tree 구조
TreeMap
HashMap + sorting 이 지원되어 HashMap에 비해서는 무거운 편
Hash맵을 쓰다가 sorting이 필요할 때 값을 넣어서 TreeMap을 쓸 수 있음
// List 같은 경우는 선형구조를 가지고 있으나 Map은 tree(나무)구조이다.
*/
// HashMap<Integer, String> hMap = new HashMap<Integer, String>();
Map<Integer, String> hMap = new HashMap<Integer, String>();
// 추가 -> for문 사용 안하는 이유는 순서가 없기 때문이고 메모리 안에서 순서가 정렬되지 않음.
hMap.put(111, "백십일");
hMap.put(222, "이백이십이");
hMap.put(333, "삼백삼십삼");
String value = hMap.get(333);
// ↑ 키값을 집어넣음
System.out.println(value);
// iterator == 반복자(주소) -> 포인터
Iterator<Integer> it = hMap.keySet().iterator(); // 제일 첫번째 주소를 가지고 와라
// 지금 상황에선 111, 222, 333중 아무나 올 수 있음
// 데이터를 집어넣을 때마다 순번이 바뀌기 때문이다.
while(it.hasNext()) { // .hasNext() -> 다음거 있니?
Integer k = it.next(); // Iterate 내의 next함수를 사용하면 키값을 다 꺼내올 수 있다.
System.out.println(k);
String v = hMap.get(k);
System.out.println(v);
}
// 삭제
value = hMap.remove(222);
System.out.println("삭제된 데이터: " + value);
it = hMap.keySet().iterator(); // 갱신 -> 처음으로 돌아가라!
while(it.hasNext()) {
String v = hMap.get(it.next());
System.out.println(v);
}
System.out.println(hMap.size());
// 검색(= key값으로 검색)
boolean b = hMap.containsKey(333);
if(b == true) {
String v = hMap.get(333);
System.out.println(v + " 삭제되었습니다.");
}
// 수정
hMap.replace(111, "백 + 십 + 일");
System.out.println(hMap.get(111));
hMap.put(111, "100 + 10 + 1");
System.out.println(hMap.get(111));
// sorting -> key값으로
Map<String, String> map = new HashMap<String, String>();
map.put("pear", "배");
map.put("apple", "사과");
map.put("grape", "포도");
map.put("banana", "바나나");
map.put("orange", "오렌지");
Iterator<String> it1 = map.keySet().iterator();
while(it1.hasNext()) {
String k = it1.next(); // -> 다음 주소를 불러라
String v = map.get(k);
System.out.println("key: " + k + " value: " + v);
}
System.out.println();
// TreeMap
TreeMap<String, String> tmap = new TreeMap<String, String>( map );
// 오름차순 처리
// Iterator<String> it2 = tmap.keySet().iterator();
// 내림차순 처리
Iterator<String> it2 = tmap.descendingKeySet().iterator();
while(it2.hasNext()) {
String k = it2.next();
String v = tmap.get(k);
System.out.println("key: " + k + " value: " + v);
}
}
}
'Coding > Java' 카테고리의 다른 글
Array list 2 (0) | 2021.12.20 |
---|---|
Array list (0) | 2021.12.20 |
Generic (0) | 2021.12.20 |
Static (0) | 2021.12.17 |
Final (0) | 2021.12.17 |