Comparator과 Comparable의 필요성정렬을 하기 위해서는 '기준'이 필요합니다. 기본적으로 int, double 과 같은 primitive 타입의 변수는 자연스럽게 대소 관계가 존재하기 때문에 정렬 기준을 쉽게 설정할 수 있습니다. 예를 들어, 1 하지만 객체는 정렬 기준이 자동으로 존재하지 않습니다. 예를 들어, 아래와 같은 Person 클래스를 정의했다고 가정해보았습니다.public class Person{ int age; int phoneNumber; public Person(int age, int phoneNumber){ this.age = age; this.phoneNumber = phoneNumber; }}Person p1 = ne..
배열 정렬Java 에서 배열을 정렬하기 위해서는 Arrays.sort() 메서드를 사용합니다. 이 메서드를 통해 int 형 배열을 오름차순으로 정렬할 수 있습니다. 이때, 정렬된 배열은 새로 반환되는 것이 아니라, 원본 배열 자체가 정렬됩니다.int[] arr = new int[]{34, 100, 50, 27};Arrays.sort(arr);System.out.println(Arrays.toString(arr)); //[27, 34, 50, 100] Arrays.sort() 메서드는 내부적으로 Dual-Pivot QuickSort 알고리즘을 사용하여 배열을 정렬합니다.public static void sort(int[] a) { DualPivotQuicksort.sort(a, 0, a.len..
Queue 자료구조 (추후 블로깅 예정) Queue interface 사용법 Queue 선언 Queue 인터페이스는 Collection 프레임워크를 상속받으며, LinkedList, PriorityQueue 클래스 등으로 구현할 수 있다. import java.util.Queue; public interface Queue extends Collection Queue queue = new LinkedList(); Queue 메소드 목록 큐의 메소드는 두가지 형태로 되어있다. 하나는 만약 연산에 실패하게 된다면 예외를 던지고, 다른 하나는 특별한 값(null값이나 false)를 리턴한다. Queue 값 추가 queue는 FIFO 구조이기 때문에 rear(뒤)부터 값이 추가된다. public boolean a..
Stack 자료구조 (추후 블로깅 예정) Stack class 사용법 Stack 선언 Stack 클래스는 Vector 클래스를 상속받는다. (당연히 vector 클래스의 메소드를 사용할 수 있다.) Stack 생성 시 제네릭 부분에는 사용할 객체를 담으며 되며 생성되면 어떤 원소도 포함하지 않는다. import java.util.Stack; public class Stack extends Vector Stack stack = new Stack(); //Integer 스택 선언 Stack 값 추가 public E push(E item) stack은 LIFO 구조이기 때문에 다음과 같이 stack에 쌓이게 된다. Integer element1 = stack.push(1); //element1 == 1 Int..
Set 인터페이스수학에서의 집합과 비슷하다.요소의 중복을 허용하지 않고, 저장 순서를 유지하지 않는 컬렉션기능리턴 타입메소드설명객체 추가booleanadd(Object element)주어진 객체를 추가하고, 성공하면 true를 중복 객체면 false를 반환한다.객체 검색booleancontains(Object o)주어진 객체가 Set에 존재하는지 확인한다. booleanisEmpty()Set이 비었는지 확인한다. IteratorIterator()저장된 객체를 하나씩 읽어오는 반복자를 리턴한다. intsize()저장되어 있는 전체 객체의 수를 리턴한다.객체 삭제voidclear()Set에 저장된 모든 객체를 삭제한다. booleanremove(Object o)주어진 객체를 삭제한다. HashSetSet 인..
List 인터페이스배열과 같이 객체를 일렬로 늘어놓은 구조를 가지고 있다.객체를 저장하면 자동으로 인덱스가 부여되고, 인덱스로 객체를 검색, 추가, 삭제할 수 있는 등의 여러 기능을 제공한다.List 인터페이스를 구현한 클래스에는 LinkedList, ArrayList, Stack, Vector 등이 있다. List 인터페이스 메소드Collection 인터페이스의 메소드 또한 상속받아서 사용이 가능하다. ArrayListArrayList 객체명 = new ArrayList(초기 저장 용량);//초기 용량이 인자로 전달되지 않으면 기본적으로 10으로 지정된다.기능적으로 Vector와 동일하고 이를 개선한 것이다. 리스트 계열 자료구조의 특성을 이어받아 데이터가 연속적으로 존재한다.(데이터의 순서 유지) 배..
Map 인터페이스Map 인터페이스는 키(key)와 값(value)으로 구성된 객체인 Entry 객체를 저장하는 구조로 되어있다. Entry 객체는 키와 값을 각각 Key 객체와 Value 객체로 저장한다. 즉, key, value 값은 기본형일 수 없다.키는 중복으로 저장될 수 없지만, 값은 중복 저장이 가능하다. Map 인터페이스를 구현한 클래스에는 HashMap, Hashtable, TreeMap, SortedMap 등이 있다. Map 인터페이스 메소드 HashMap해시 함수를 통해 키와 값이 저장되는 위치를 결정하므로, 사용자는 그 위치를 알 수 없고 삽입되는 순서와 위치 또한 관계가 없다. 해싱을 사용하기 때문에 많은 양의 데이터를 검색하는데에 있어서 뛰어난 성능을 보인다.HashMap의 개별 요..
컬렉션이란 여러 데이터의 집합을 의미한다.이러한 컬렉션을 다루는데에 있어 편리한 메서드들을 미리 정의해 놓은 것을 컬렉션 프레임워크라고 한다. 컬렉션 프레임워크는 주요 인터페이스로 List, Set, Map을 제공한다. List데이터의 순서가 유지되며, 중복 저장이 가능한 컬렉션을 구현하는데 사용된다.[Java] List 인터페이스List 인터페이스 배열과 같이 객체를 일렬로 늘어놓은 구조를 가지고 있다. 객체를 저장하면 자동으로 인덱스가 부여되고, 인덱스로 객체를 검색, 추가, 삭제할 수 있는 등의 여러 기능을 제공한kangkangsulae.tistory.com Set데이터의 순서가 유지되지 않으며, 중복 저장이 불가능한 컬렉션을 구현하는데 사용된다.[Java] Set 인터페이스Set 인터페이스 수학에..
상황주어진 문자열로 재귀적인 방법을 사용해서 집합을 만들기 위해서 다음과 같은 코드를 작성하였다. public ArrayList makeSet(ArrayList prev, String firstStr, String subStr){ ArrayList result = new ArrayList(); if(subStr.equals("")){ result.add(""); result.add(firstStr); return result; } prev = makeSet(prev, String.valueOf(subStr.charAt(0)), subStr.substring(1)); result = p..
1. 반환되는 문자열클래스 이름과 함께 구분자로 '@'가 사용되며, 뒤로 인스턴스의 주소를 가리키는 값인 16진수 해시코드가 추가된다.getClass().getName + '@' + Integer.toHexString(hashCode())package S1U8;public class ObjectMethod { public static void main(String[] args) { ObjectClass objectClass1 = new ObjectClass(1,"object1"); ObjectClass objectClass2 = new ObjectClass(2,"object2"); System.out.println(objectClass1.toString()); ..
- Total
- Today
- Yesterday
- CI/CD
- springboot
- 트랜잭션
- DevOps
- 영속성 컨텍스트
- entitylisteners
- 자바
- persistencecontext
- LeetCode
- IAM
- EC2
- 네트워크
- Route53
- JPA
- java
- 정렬
- acm
- 영속 상태
- network
- CodeDeploy
- Spring Boot
- Hibernate
- 프로그래머스
- CI와 CD의 차이
- appliationeventlistener
- 지연 대기열
- Spring
- fetchcount()
- githubactions
- aws
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |