개발/자바
-
[java] 자바 우선순위 큐 PriorityQueue (힙 Heap)개발/자바 2021. 11. 16. 16:21
PriorityQueue (우선순위 큐) - 완전이진트리 방식 (heap) - 최댓값 혹은 최솟값을 자주 구할때 사용한다. PriorityQueue minHeap = new PriorityQueue(); //최소힙 PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); //최대힙 heap.add(3); heap.add(1); heap.add(2); heap.peek(); heap.poll(); // return 1 //comparable을 상속한 클래스로도 사용이 가능하다. class Member implements Comparable{ @Override public int compareTo(Member member) { return..
-
[java] 자바 Queue / Deque개발/자바 2021. 11. 10. 14:51
1. Queue - 먼저들어간 자료가 먼저나오는 구조 (FIFO) - BFS 탐색시 사용 import java.util.LinkedList; import java.util.Queue; Queue queue = new LinkedList(); Queue queue = new LinkedList(); Queue user = new LinkedList(); //직접 만든 클래스도 가능 queue.offer(1); // queue에 값 1 추가 queue.offer(3); // queue에 값 3 추가 queue.poll(); // queue에 첫번째 값 제거 ( return 1 ) 없을시 null queue.peek(); // 값을 가져오나 제거는 안함 ( return 3 ) 없을시 null queue.cle..
-
자바 컬렉션 정리 (Collection)개발/자바 2021. 11. 9. 15:35
1. Set - 중복을 허용하지 않는다. - 순서를 보장하지 않는다. - index접근이 불가하고 iterator를 사용해야 한다. 2. Map - key와 value의 쌍으로 이루어짐. - key의 중복은 허용하지 않지만 value의 중복은 허용한다. 3. List - 중복을 허용한다. - 순서를 보장한다. Stack - https://walon-h.tistory.com/17?category=971067 4. Queue - 먼저 들어간 값이 먼저 나오는 구조 - 삽입과 삭제 연산만 한다. Queue / Deque - https://walon-h.tistory.com/16 Prioirty Queue - https://walon-h.tistory.com/20 === 시간복잡도 === 더보기 ※ List A..
-
[자바/java] 클래스 생성자 패턴 3가지 (점층적, 빈즈, 빌더)개발/자바 2021. 10. 26. 14:38
1. 점층적 생성자 패턴 생성자의 매개변수의 유형과 개수를 다르게해 다양하게 호출할수 있게 하는 방식 (오버로딩) - 매개변수에 따라서 많이 늘어나 가독성이 떨어짐. public class Member { private String name; private int age; private String grade; public Member(String name){ this.name = name; } public Member(int age, String grade){ this.age = age; this.grade = grade; } public Member(String name, int age, String grade){ this.name = name; this.age = age; this.grade = g..
-
[자바/java] 배열,리스트 정렬 (Comparable, Comparator)개발/자바 2021. 8. 27. 17:21
※ Arrays.sort - 배열의 숫자, 알파벳, 한글을 오름차순(natural ordering/자연스러운 순서)로 정렬 ※ Collections.sort - ListCollection일 경우 (ArrayList, LinkecList, Vector 등) Comparable, Comparator ※ Comparable - 정렬할 class내부에 정의하여 그 규칙에 맞게끔 정렬 ※ Comparator - 따로 comparator를 만들어 정렬시 comparator를 바꿔가면서 정렬가능 public static class Friend implements Comparable{ private String name; private int age; public Friend(String name, int age) {..
-
[자바/java] 자바 기본서 헷갈리는것들 정리개발/자바 2021. 5. 26. 15:14
1. final final int MAX_SIZE = 100; - final 은 변수의 상수화, 값변경불가능, 상수명은 대문자, 공백은 언더바로 2. 정수형 상수의 언더바 int num = 100_000_000; - 단순히 인식을 위해(금액의 콤마와 비슷한기능) 언더바를 넣는것을 허용 3. Short-Circuit Evaluation(Lazy Evaluation) - &&의 왼쪽 피연산자가 false이면, 오른쪽 피연산자는 확인하지 않는다. - ||의 왼쪽 피연산자가 true이면, 오른쪽 피연산자는 확인하지 않는다. 4. 일반적인 정수는 int다 short num1 = 11; short num2 = 22; short result = num1 + num2; // ERROR!!!! long num = 314..