본문 바로가기

Java

(13)
Lombok 라이브러리 롬복(Lombok) 롬복(Lombok)은 Java에서 반복적으로 작성되는 getters/setters나 equals, hashCode, toString 또는 생성자 관련 코드들을 간결하게 만들어주는 라이브러리다. 사실 자바를 지원하는 웬만한 IDE가 이런 코드들의 자동 생성을 지원하고 있어서 필요성을 못 느낄수도 있으나, 롬복(Lombok)은 유지 보수시에 큰 도움이 된다. 유지보수시에 클래스의 필드의 갯수와 비례해서 길어지는 getters/setters가 없으니 코드가독성이 올라가고, 필드값을 추가삭제 할 때도 getters/setters에 대한 신경을 쓰지 않아도 된다. @Getter @Setter 롬복의 @Getter와 @Setter 애노테이션을 클래스명 위에 명시하면, 필드값에 대한 getters..
continue, break 문 차이 for( i = 0 ; i
redixSort 에제 package day4; public class radixSortTest {public static void main(String[] args) {int testArray[] = {69, 10, 30, 2, 16, 8, 31, 22};testArray = radixSort(testArray);printArray(testArray);}static int[] radixSort(int[] testArray){int sortedArray[] = new int[testArray.length];int k = 1;//1의 자리 수로 정렬for(int i = 0; i < 10; i++){for(int j = 1; j < testArray.length; j++){if((testArray[j] % 10) == i){sor..
MergeSort 예제 package day4; public class MergeSort {private int sorted[] = new int[30]; public void merge(int a[], int m, int middle, int n) {int size = a.length;int i, j, k, t;i = m;j = middle + 1;k = m;while (i
Bubble Sort 예제 package day3; public class BubbleSort {public BubbleSort(int[] a) {int temp = 0;for(int i=a.length-1; i>0; i--){for(int j=0; ja[j+1]){temp = a[j];a[j] = a[j+1];a[j+1] = temp;}}System.out.printf("\n선택 정렬 %d 단계 : ", (i-8)*(-1));for(int j=0; j
Selection Sort package day3; public class SelectionSort { public static void selectionSort(int [] arr) { int min = 0; // 최저 값을 담을 요소 for (int i = 0; i < arr.length - 1; i++) { min = i; // 첫번째 요소를 선택 for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[min]) // 첫번째 요소와 가장 적은 값을 찾는 비교 연산 min = j; } swap(arr, min, i); System.out.println("선택 정렬 " + (i + 1) + " 단계: "); printArr(arr); } } public static void s..
Quick Sort 소스 public class QuickSort {static int i = 0;public static void QuickSort(int[] a,int begin, int end) {if(begin < end){int p = partition(a, begin, end);QuickSort(a,begin,p-1);QuickSort(a,p + 1, end);}}public static int partition(int[] a, int begin, int end){int pivot = (begin + end) / 2;int L = begin;int R = end;int temp;System.out.println("[퀵 정렬 " + ++i + "단계: pivot: " + a[pivot]);while(L < R){whil..
TreeMap 으로 순서정렬 알고리즘 public class MapTest {public static void main(String[] args) {String[] cars = new String[] { "아우디", "밴츠", "BMW", "마흐바흐", "포르쉐", "벤츠" };TreeMap map = new TreeMap();for(int i = 0; i