Stream 4

Stream.filter()을 이용해 하나의 원소만 리턴받기

오늘은 stream클래스의 filter 메소드를 사용하고 있던중, 필터링 되어 리턴되는 결과값이 한 개만 되도록 하고싶을떄 사용할 수 있는 방법을 정리하려고 한다. 본 내용은 글로써 서술하는 것보다 코드를 보며 정리하는게 좋을것같아 바로 코드를 보려고한다. 코드는 다음과같다. 123456789101112131415161718192021222324252627282930/* Member이라는 테이블(Entity)가 존재하고 모든 Member의 리스트중에서 유니크한 값을 이용해 필터링하는 상황을 가정 class 중략..*/ public testMethod(Long id) { List members = memberRepo.findAll(); Member resultMember = new Member(); // ..

JAVA 2021.01.26

String 배열을 다른자료형 배열로 변경하는 방법

오늘은 String값이 저장되어있는 배열을 Long, Integer등의 자료형으로 변경하는 방법에 대해서 정리하려고 한다. 알고리즘 문제를 풀 때 split을 자주 사용한다면 한번쯤은 고민해봤을 문제일 것 같다. 코드로 살펴보면 다음과 같다. 1234567891011121314151617181920212223242526import java.io.*;import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] value = read..

JAVA 2020.12.31

JAVA 입력과 출력(Scanner, BufferedReader..)

알고리즘 문제를 풀다보면 입력을 받아서 정답을 출력하게 작성해야하는데 그때 사용할 수 있는 Scanner와 BufferedReader를 이용한 입출력을 정리해보려고 한다. 먼저 속도적인 면으로는 BufferedReader가 Scaaner에 비해 훨씬 빠른데, 보통 JAVA를 처음 접할떄 입력은 Scanner로 배우기 때문에 조금은 생소할수도 있다. 각설하고 코드로 확인해 보면 다음과 같이 사용할 수 있다. 1234567891011121314151617181920212223242526272829303132333435363738import java.io.*;import java.util.Scanner; public class Main { public static void main(String[] args) ..

JAVA 2020.12.17

JAVA에서 리스트안의 원소를 중복제거하는 방법?

개발에서 중복되는 데이터를 제거하는 작업은 빈번하게 일어나게 되는데, 그때 어떤 방법을 이용해서 중복을 제거할 것 인가가 항상 고민이였다, 그래서 활용가능한 방법들을 간단하게나마 정리하려고 한다. 먼저 리스트안의 중복을 제거하는 방법은 몇 가지가 있는 것 같은데, 대표적으로 아래와 같은 방법이 있는 것 같다. 1. for문을 이용해 리스트를 순회하며 제거(contains를 이용 or 변수를 이용) 2. Set자료형을 이용하여 중복을 제거 3. Stream의 distinct를 이용하는 방법 이외에 다른 방법이 더 있을 수도 있겠지만, 당장 생각나는 방법만 정리하려고 한다. 백문이불여일견이라고, 코드를 통해 정리 하면 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ..

JAVA 2020.11.04