Java 정리
🙉

Java 정리

Created
Feb 5, 2024 08:06 AM
Last edited time
Last updated April 26, 2024
Tags
Language
Language
Java
URL

Intro::

java 로 코테 언어를 바꾸면서 필요한 클래스들을 정리한 글입니다.
 

입력 및 출력

BufferedReader

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine() 을 통해 한줄로 입력을 받을 수 있다.
 
 

StringTokenizer

StringTokenizer st = new StringTokenizer(String s); int a = st.nextToken(); StringTokenizer st = new StringTokenizer(String s, String delimeter);
구분자로 분리된 토큰들을 st.nextToken() 을 통해 하나씩 받아 올 수 있다.(구분자가 없으면 기본 whitespace 들로 구분)
 

StringBuilder

StringBuilder sb = new StringBuilder();
sb.append(/* 넣을 값 */) 처럼 사용해서 스트링을 빌드해준다. 성능적으로 직접 스트링 연산을 하는 것보다 뛰어나다. BufferedWriter 보다도 미세하게 빠르다고 한다.
 

Int

int arr; int[] arr = new int[10] Arrays.fill(arr, 0)// 초기화 Arrays.sort(arr)// 오름차순

String

substring(s, e)

String s = "01234" s.substring(0, 4);//0123
💡
시작점부터 제외점 전까지의 문자열을 추출하는 것이다.

HashSet

HashSet<String> hs = new HashSet<>();
💡
HashSet 은 순서를 보장하지 않는 자료구조이다. 정렬이 필요하다면 List 로 변환하여 정렬하면 된다.
ArrayList<String> al = new ArrayList<>(hs); al.sort();
 

Stack

Stack<Integer> stack = new Stack<>(); stack.push(1);// stack에 인자 집어넣음 stack.peek();// stack의 top 확인 stack.pop();// stack의 top에서 인자를 빼고 반환
 

Queue

Queue<Integer> queue = new LinkedList<>(); queue.add(1);// 인자 추가 queue.peek();// 가장 앞에 있는 인자 참조 queue.poll();// 가장 앞에 있는 인자 제거후 반환 ((LinkedList<Integer>) q).peekLast();// 가장 뒤에 있는 인자 참조
 

Deque

Deque<String> dq = new ArrayDeque<>(); dq.addLast();// 뒤쪽에 인자 추가 dq.addFirst();// 앞쪽에 인자 추가 dq.pollLast();// 뒤쪽 인자 제거 후 반환 dq.pollFirst();// 앞쪽 인자 제거 후 반환 dq.peekLast();// 뒤쪽 인자 참조 dq.peekFirst();// 앞쪽 인자 참조
 

Map

Map<String, Integer> m = new HashMap<>(); m.get("tmp");// 없으면 null m.put("tmp", 1); m.getOrDefault("tmp", 0);// 디폴트 지정가능 for (Map.Entry<String, Integer> entry : m.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); }
 

Priority Queue

// 우선순위 큐 생성 PriorityQueue<Integer> pq = new PriorityQueue<>(); // 요소 추가 pq.add(10); // 요소 조회 (제거하지 않음) pq.peek(); // 출력: 10 // 요소 제거 pq.poll()); // 출력: 10 // 인터페이스 구현을 통한 비교 방법 class Student implements Comparable<Student> { private int score; public Student(String name, int score) { this.score = score; } // compareTo 를 @Override public int compareTo(Student other) { return Integer.compare(this.score, other.score); } } // Comparator 객체를 제공하는 방법 Comparator<Student> scoreComparator = new Comparator<Student>() { @Override public int compare(Student s1, Student s2) { return Integer.compare(s1.getScore(), s2.getScore()); } }; // 람다식 PriorityQueue<Student> pq = new PriorityQueue<>( (s1, s2) -> Integer.compare(s1.getScore(), s2.getScore()));
 

References::

Loading Comments...