이진탐색알고리즘을 이용하여 검색.
// HashMap 사용법
// 생성
HashMap<String, Integer> map=new HashMap<String, Integer>();
// 1.요소 추가
// T put(T key, T value)
map.put("국어", 100);
map.put("영어", 90);
map.put("수학", 80);
// 2. 요소 개수
System.out.println(map.size());
// 3. 요소 접근
System.out.println(map.get("국어"));
System.out.println(map.get("영어"));
System.out.println(map.get("수학"));
System.out.println(map.get("과학"));
// 4. 수정하기
// 수정되기 전 값이 반환값
map.put("국어", 98);
System.out.println(map.get("국어"));
System.out.println(map.getOrDefault("영어", 0));
// 없으면 Default로 지정한 값 반환
// 5. 검색
System.out.println(map.containsKey("국어"));
System.out.println(map.containsValue(100));
// 6. 삭제
map.remove("국어");
System.out.println(map.size());
// 7. 초기화
map.clear();
System.out.println(map.size());
Queue<String> queue=new LinkedList<String>();
// =========================
//-> 노랑 파랑 빨강 ->
// =========================
queue.add("빨강");
queue.add("파랑");
queue.add("노랑");
System.out.println(queue);
System.out.println(queue.size());
System.out.println(queue.poll());
System.out.println(queue.size());
System.out.println(queue.poll());
System.out.println(queue.size());
System.out.println(queue.poll());
System.out.println(queue.size());
System.out.println(queue.poll()); // 꺼내기. 다 뽑고 또 poll하면 null 반환.
System.out.println(queue.size());
queue.add("빨강");
queue.add("주황");
queue.add("노랑");
queue.add("초록");
queue.add("파랑");
queue.add("남색");
queue.add("보라");
System.out.println(queue.peek()); // 보이긴 하지만 size 변화는 없음.
//루프
// 1. for문
int size=queue.size();
for(int i=0;i<size;i++) {
System.out.println(queue.poll());
System.out.println(queue.size());
}
// 2. while문
while(queue.size()>0) {
System.out.println(queue.poll());
System.out.println(queue.size());
}
// 3. 향상된 for문 -> 이 방식은 사용 불가! 이건 큐가 아님! 꺼내면서 사라지지 않기 때문.
for(String color:queue) {
System.out.println(color);
}
Stack<String> stack=new Stack<String>();
// =========================
//<=> 노랑 파랑 빨강 ㅒ <- 막혔음!
// =========================
stack.push("빨강");
stack.push("파랑");
stack.push("노랑");
System.out.println(stack.pop());
System.out.println(stack.size());
System.out.println(stack.pop());
System.out.println(stack.size());
System.out.println(stack.pop());
System.out.println(stack.size());
System.out.println(stack.pop()); // 빈 stack에 pop하면 java.util.EmptyStackException 발생
System.out.println(stack.size());
if (!stack.isEmpty()) {
System.out.println(stack.pop());
System.out.println(stack.size());
}
stack.push("빨강");
stack.push("파랑");
stack.push("노랑");
System.out.println(stack.peek());
System.out.println(stack.size());
// while문
while(!stack.isEmpty()) {
System.out.println(stack.pop());
}