본문 바로가기

자바29

[Java] Priority Queue 클래스(우선순위 큐 클래스) 💚 Priority Queue 클래스 - 우선순위 큐가 구현된 클래스 - 기본적으로 최소 힙이 구현되어 있다. - 큐 인터페이스를 구현한 것이므로, 메서드가 거의 동일하다고 볼 수 있다. (아래에 링크 첨부) 💚 최소 힙 사용 예시 import java.util.PriorityQueue; public class PriorityQueueExample { public static void main(String[] args) { PriorityQueue minHeap = new PriorityQueue(); minHeap.add(5); minHeap.add(2); minHeap.add(8); while (!minHeap.isEmpty()) { System.out.println(minHeap.poll()); /.. 2023. 8. 28.
[Java] 자바 비트 연산자(bitwise operator) 💚 비트 연산자(bitwise operator) - 이진수로 표현된 데이터의 비트(bit) 수준에서의 연산을 수행하는데 사용되는 연산자 - 비트 연산자는 이진수의 각 비트에 대한 논리적인 조작을 수행하거나 데이터를 이동시키는데 사용된다. 💚 자바 비트 연산자 종류 ① 비트 AND(&): 두 비트가 모두 1인 경우 결과 비트가 1이 된다. int a = 5; // 0000 0101 int b = 3; // 0000 0011 int result = a & b; // 0000 0001 (결과: 1) ② 비트 OR(|): 두 비트 중 하나 이상이 1인 경우 결과 비트가 1이 된다. int a = 5; // 0000 0101 int b = 3; // 0000 0011 int result = a | b; // 00.. 2023. 8. 8.
[Java] 자바 네이밍 규칙(Java Naming Convention) 💚 자바 네이밍 규칙 ① 클래스(Class)와 인터페이스(Interface) - 첫 글자는 항상 대문자로 시작해야 한다. - 여러 단어로 이루어진 이름의 경우, 단어의 첫 글자를 대문자로 작성해야 한다.(ex: MyClass, MyInterface) ② 메서드(Method)와 변수(Variable) - 첫 글자는 항상 소문자로 시작해야 한다. - 여러 단어로 이루어진 이름인 경우, 단어의 첫 글자를 대문자로 작성해야 한다.(ex: myMethod, myVariable) ③ 상수(Constant) - 모든 글자를 대문자로 작성하며, 단어와 단어 사이를 언더스코어(_)로 구분한다.(ex: MY_CONSTANT) ④ 패키지(Package) - 모두 소문자로 작성하며, 일반적으로 회사 도메인 이름을 거꾸로 사용.. 2023. 8. 3.
[Java] Map의 entrySet() 메서드 💚 Map.entrySet() · 반환형: Set - Map 인터페이스의 메서드 - Map의 key-value 쌍을 Map.Entry 객체로 반환한다. - 각 Map.Entry 객체는 key와 value를 포함하고 있으며, 이 객체들을 모아서 Set 인터페이스 형태로 반환한다. - 주로 Map에 저장된 요소들을 반복하면서 key와 value를 함께 사용해야 하는 경우에 사용된다. 이를 통해 각 요소의 key와 value를 개별적으로 처리할 수 있다. · Map.Entry 객체의 메서드 ① getKey() ② getValue() 💚 사용 예시 import java.util.HashMap; import java.util.Map; public class MapEntryExample { public static.. 2023. 7. 19.
[Java] 자바 ArrayList와 LinkedList 비교 자바에서 ArrayList 와 LinkedList 는 둘 다 List 인터페이스를 구현한 클래스다. 💚 ArrayList - 내부적으로 배열을 사용하여 요소를 저장한다. 요소들을 연속된 메모리 공간에 저장한다. - 요소의 삽입과 삭제가 느리다. 중간에 요소를 삽입하거나 삭제할 경우 뒤따라오는 요소들을 이동시켜야 하기 때문이다. - 요소의 접근과 갱신이 빠르다. - 인덱스를 기반으로 한 작업에 유리하다. 💚 LinkedList - 내부적으로 이중 연결 리스트를 사용하여 요소를 저장한다. - 요소의 삽입과 삭제가 빠르다. 요소간의 링크만 수정하면 되기 때문이다. - 요소의 접근과 갱신이 느리다. - 인덱스를 기반으로 한 작업은 처음부터 해당 인덱스까지 선형탐색을 수행해야 하기 때문에 비효율적이다. 💚 결론 .. 2023. 7. 7.
[Java] 자바 HashSet 정렬법 💚 HashSet 정렬법 - HashSet 클래스는 원소들을 정렬된 순서로 저장하지 않는다. - HashSet 자체로는 정렬을 할 수 없다. - 그러나 List로 변환하여 정렬을 하면 가능하다. 💚 예시 import java.util.HashSet; import java.util.ArrayList; import java.util.Collections; public class HashSetSortingExample { public static void main(String[] args) { // HashSet 생성 HashSet hashSet = new HashSet(); // HashSet에 원소 추가 hashSet.add("Apple"); hashSet.add("Banana"); hashSet.add(.. 2023. 7. 7.