목록분류 전체보기 (279)
HwangHub
java-library와 api()란 무엇인가요? java-library 플러그인은 java 플러그인을 확장하여 추가적인 기능을 제공합니다. 확장 버전이므로 java-library 플러그인만 추가하면 java 플러그인에서 제공하는 모든 method, configuration 등도 활용할 수 있습니다. java-library를 사용함으로써 가장 먼저 얻을 수 있는 것이 바로 api() configuration입니다. api : 모든 소비자의 compile classpath와 runtime classpath 모두에 포함 (다른 모듈에 노출 O) implementation : 내부에서만 사용되는 의존성으로 선언 (다른 모듈에 노출 X) 이는 우리가 함수나 필드를 설정할 때 public이나 private처럼 s..
풀이 package 코드트리.시뮬레이션.배열기록; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; import java.util.stream.IntStream; public class 만나는순간 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); St..
문제 두 사각형의 좌표가 주어질 때, 두 사각형이 겹치는 부분을 제외한 첫 번째 사각형의 영역을 덮는 사각형의 최소 넓이를 구하여라. 해석 단순한 완탐 느낌으로 접근해서, 2차원 배열에 사각형을 그리고, 첫 번째 사각형의 남는 영역을 찾아서 그 영역의 긴 변의 곱을 출력하면 되겠다 생각했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.NoSuchElementException; import java.util.StringTokenizer; public class Main { public static void ma..
보호되어 있는 글입니다.
객체는 여러 필드를 가지고 있을텐데, 어떤 특정 필드를 기준으로 오름차순 정렬을 하기 위해서는 여러가지 방법이 존재합니다. @Override compareTo() 가장 원시적인 방법(지금은 잘 사용하지 않는 방법)은 클래스에 Comparable 인터페이스를 구현한다고 한 뒤에, compareTo() 함수를 Override하면 됩니다. 이 때, 현재 객체와 넘어오는 객체의 값을 비교하여, 값을 나타내주는 것에 따라 오름차순/내림차순이 결정됩니다. 1. this(현재 객체)가 비교 객체보다 뒤에 있어야 한다면 -> 오름차순 : 양수(1) /// 내림차순 : 음수(-1) 2. this(현재 객체)가 비교 객체보다 앞에 있어야 한다면 -> 오름차순 : 음수(-11) /// 내림차순 : 양수(1) 3. this(..
다음은 코드트리를 풀다가 컴파일 에러가 발생했던 코드이다. List ansList = li.stream() .filter(o -> o.weather.equals("Rain")) .sorted(Comparator.comparing(Weather::getDate) .thenComparing(Weather::getDay)) .toList(); 위 코드는 인텔리제이 IDE에서는 문제가 되지 않았다. 따라서 의심 없이 제출을 눌렀는데, 컴파일 에러가 발생하였다. 런타임 에러면 이전에 배열을 사용중이었기에 indexException이겠거니 하겠지만, 컴파일 에러라고 하니 "오타가 있나?" 하고 봤다. 하지만 생각해보니 정상적으로 실행되었던 코드이기에 자바 버전 문제임을 느끼고 검색을 했다. Stream.toList..
출처: https://devjem.tistory.com/41 최근 스트림 API에 대해 집중적으로 공부하는 와중에 map과 flatMap의 차이점을 더 자세히 정리하고 싶어서 포스팅을 하게 되었습니다. Map이란? map은 스트림 내부의 요소 하나하나에 접근해서 제가 파라미터로 넣어준 함수를 실행한 뒤 최종연산에서 지정한 형식으로 반환해주는 메서드 입니다. List people = Arrays.asList( new Person("personA", 24), new Person("personB", 26), new Person("personC", 28), new Person("personD", 30) ); 위와 같은 리스트를 예시로 만들어보겠습니다. List nameList = people.stream() ...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4kqY5/btsml4msr2v/LWxFsyhkKiotSWZdIPyo01/img.png)
자바 8 이후부터 람다와 스트림을 이용한 함수형 프로그래밍이 적극적으로 도입되었습니다. 이번에는 이 중에서 stream에 대하여 집중적으로 학습해보려 합니다. 스트림이란? 스트림은 foreach iterator를 사용하기보다, 메서드 체이닝을 활용하여 원하는 연산을 수행할 수 있도록 구현한 것입니다. 메서드 체이닝을 통해서 좀 더 직관적으로 어떠한 연산을 수행하는지 표시하기 때문에 유지보수성이 올라간다는 큰 장점이 있습니다. import java.util.List; import java.util.stream.*; public class Main { public static void main(String[] args) { List list = Arrays.asList(1, 2, 3); Stream stre..
Java에는 Arrays.sort(arr)를 이용하여 오름차순 정렬이 가능하다. 잘 사용하진 않겠지만 Arrays.sort(arr, 시작 idx, 끝 idx + 1)을 사용하여 특정 구간만 오름차순으로 정렬할 수도 있다. import java.util.Arrays; public class Main { public static void main(String[] args) { int[] arr = new int[]{12, 41, 37, 81, 19, 25, 60, 20}; Arrays.sort(arr);// 전체 정렬 for(int i = 0; i < 8; i++) System.out.print(arr[i] + " "); // 12, 19, 20, 25, 37, 41, 60, 81 Arrays.sort(ar..
만약 지역 변수와 전역 변수의 이름이 동일할 경우, 예를 들어 public class Main { public static int a = 10, b = 20; public static void printAandB() { System.out.println(a + " " + b); } public static void modify(int a, int b) { System.out.println(a + " " + b); printAandB(); int temp = a; a = b; b = temp; } public static void main(String[] args) { modify(50, 60); printAandB(); } } 위와 같이 전역 변수에도 int a, int b가 정의되어 있는데, modif..