본문 바로가기

분류 전체보기853

12 지네릭스, 열거형, 애너테이션 (1) 지네릭스란? 지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크(compile-time type check)를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준다는 뜻이다. 예를 들어 ArrayList와 같은 컬렉션 클래스는 다양한 종류의 객체를 담을 수 있긴 하지만 보통 한 종류의 객체를 담는 경우가 더 많다. 그런데도 꺼낼 때마다 타입체크를 하고 형변환을 하는 것은 불편하다. 게다가 원치않는 종류의 객체가 포함되는 것을.. 2021. 7. 17.
백준 2941 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main2941 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String s = bf.readLine(); String[] croatia = {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="}; for(int i=0; i 2021. 7. 16.
백준 5622 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main5622 { public static void main(String[] args) throws IOException{ BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String num = bf.readLine(); int result=0; for(int i=0; i 2021. 7. 16.
백준 2908 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main2908 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String s = bf.readLine(); StringTokenizer st = new StringTokenizer(s, " "); String A = st.nextToken(); String B =.. 2021. 7. 16.
Deque (덱) package review1; import java.util.Deque; import java.util.LinkedList; public class Deque01 { //덱은 스택과 큐를 하나로 합쳐놓은 것과 같다. //즉 스택으로 사용이 가능하고, 큐로도 사용할 수 있다. //덱은 큐의 변형으로 양쪽 끝으로 추가/삭제가 가능하다. public static void main(String[] args) { Deque dq = new LinkedList(); dq.offerLast(1); dq.offerLast(5); dq.offerLast(4); dq.offerLast(2); System.out.println(dq); System.out.println(dq.peekFirst()); System.out.pr.. 2021. 7. 15.
Priority Queue (우선순위큐) package review1; import java.util.PriorityQueue; import java.util.Queue; public class PriorityQueue01 { //우선순위큐는 우선순위가 높은 것을 먼저 꺼내게 된다. //우선순위큐는 저장공간을 배열을 사용하며 각 요소를 힙 자료구조의 형태로 사용한다. public static void main(String[] args) { Queue pq = new PriorityQueue(); //데이터 삽입 pq.offer(4); pq.add(3); pq.add(1); pq.add(5); pq.add(2); System.out.println(pq.peek()); //숫자가 낮을수록 우선순위가 높다. System.out.println(pq);.. 2021. 7. 15.