Scanner 클래스로 -1이 입력될 때까지
양의 정수를 입력 받아 저장하고
검색하여 가장 큰 수를 출력하는
프로그램을 작성하라.
정수(-1이 입력될 때까지)>> 10 6 22 6 88 77 -1 가장 큰 수는 88
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class DocsExample3 { public static void main(String[] args) { List<Integer> numList = new ArrayList<>(); Scanner scanner = new Scanner(System.in); int num; System.out.print("정수(-1이 입력될 때까지)>> "); while(true) { num = 0; try { num = scanner.nextInt(); }catch(Exception e) { scanner.nextLine(); System.out.println("정수를 다시 입력하세요."); continue; } if(num == -1) break; numList.add(num); } int maxValue = Integer.MIN_VALUE; for(Integer n : numList) maxValue = maxValue > n ? maxValue : n; System.out.println(numList); System.out.println("가장 큰 수는 " + maxValue); } }
정수(-1이 입력될 때까지)>> 6 10 6 88 22 77 -1 [6, 10, 6, 88, 22, 77] 가장 큰 수는 88
- Map이란 Key와 Value를 기반으로 만든 순서 없는 자료 구조이다.
Key는 중복되지 않는다. Set으로 구현되어 있다.
- 순차적으로 나오도록 돌리시오
TreeMap<Integer, String> map = new TreeMap<>(); map.put(45, "Brown"); map.put(37, "James"); map.put(23, "Martin");
45 Brown 37 James 23 Martin
import java.util.Iterator; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; public class DocsExample2 { public static void main(String[] args) { TreeMap<Integer, String> map = new TreeMap<>(); map.put(45, "Brown"); map.put(37, "James"); map.put(23, "Martin"); Set<Integer> set = map.keySet(); for(Iterator<Integer> iter = set.iterator(); iter.hasNext();) { Integer num = iter.next(); System.out.println(num + " " + map.get(num)); } } }
23 Martin 37 James 45 Brown
- Treemap은 binary Tree를 기반으로 map을 구현한 것이고 Hashmap은 Hash를 기반으로 Map을 구현한 것이다.
Treemap은 binary tree가 기반이기 때문에 생성 시 정렬을 하면서 들어가게 된다. Hashmap은 hash algorithm을 통해 검색하기 때문에 검색이 더 빠르다.
import java.util.ArrayDeque; import java.util.Deque; public class ArrayDequeCollection { public static void main(String[] args) { Deque<String> deq = new ArrayDeque<>(); //앞으로 넣고 deq.offerFirst("1. Box"); deq.offerFirst("2. Toy"); deq.offerFirst("3. Robot"); //앞에서 꺼내기 System.out.println(deq.pollFirst()); System.out.println(deq.pollFirst()); System.out.println(deq.pollFirst()); } }
3. Robot 2. Toy 1. Box