본문 바로가기
반응형

Language/JAVA43

[JAVA] 자바_스트림 API (Stream API) 사용하기 - 자바 스트림(Stream) API 사용하기 - Java 8에서 추가된 스트림(Steam) API에 대해 알아보자. 자바에서 배열이나 컬렉션을 사용할 때 여기에 저장된 데이터에 접근하기 위해서는 반복문이나 반복자(Iterator)를 사용하여 데이터에 접근해야했는데, 그렇게 되면 코드가 너무 길어지고 가독성도 떨어지고, 코드의 재사용이 거의 불가능한 상태의 코드가 탄생한다. 이러한 문제점을 극복하기 위해 나온게 스트림 API다. 그러다보니 보다 간결해지고, 데이터 소스에 대한 공통된 접근 방식을 제공하기 때문에 자주 사용된다. 이제 스트림API의 특징과 사용법에 대해 하나씩 알아가보자. 아 들어가기에 앞서 스트림 API는 람다 표현식을 많이 사용하니 뭔지 알아두기라도 하자. https://mine-it-.. 2022. 1. 21.
[JAVA] 자바_람다식(Lambda Expression) (ft. 함수형 인터페이스, 메서드 참조) - 자바 람다 표현식(Lambda Expression)이란? - Java 8에서 추가된 람다 표현식(Lambda Expression)과 함수형 인터페이스 그리고 메서드 참조에 대해 알아보자. 1. 람다식(Lambda Expression) - 람다식이란 익명객체를 생성하기 위한 표현식을 말한다. - 간단히 말해 메서드를 하나의 간결한 식으로 표현한 것이라고 할 수 있다. - Java 8부터 사용 가능하며 람다 표현식을 사용하여 자바에서도 함수형 프로그래밍이 가능하게 되었다. - 기존의 불필요한 코드를 줄여주고, 작성된 코드의 가독성을 높여준다. 1-1. 람다 표현식 작성하기 자바에서는 화살표(->) 기호를 사용하여 람다 표현식을 작성할 수 있다. ▷ 문법 (매개변수목록) -> {함수몸체} ▷ 예제 1 ) .. 2022. 1. 20.
[JAVA] 자바_변수 타입에 따른 기본값(Default Value) - 변수 타입에 따른 기본값 (ft. 기본형 참조형) - 자바에서는 변수를 선언할 경우 초기화를 하지 않더라도 변수의 타입별로 기본값이 존재하는데, 이는 컴파일러(Compiler)에 의해 초기화가 되는 값이니 실제로 코드를 작성한다면 직접적으로 값을 할당하여 초기화 시켜주는게 좋다. 그리고 지역변수는 초기값이 들어가지 않기 때문에 여러모로 혼란스러울수 있으니 꼭 값을 할당해서 초기화 시켜주자. 그래도 일단 궁금하니 변수 타입에 따른 기본값은 아래 표로 정리해둔다. 변수 타입에 따른 기본값 자료형(변수 타입) 기본값 byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char '\n0000' boolean false 참조형 변수(String or any Object.. 2021. 10. 3.
[JAVA] 자바_JSON 파일 읽고 쓰기 (ft. json-simple) - json-simple을 사용한 JSON 파일 READ / WRITE - JAVA에서 JSON을 파일로 만들거나 기존에 있는 JSON 파일을 읽는 방법에 대해 알아보자. 우선 JSON을 다루기 위해 json-simple 라이브러리를 사용할 것인데 maven 설정을 해주어야 한다. ▷ json-simple 설정 com.googlecode.json-simple json-simple 1.1 https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple/1.1.1 maven을 사용하기 싫거나 maven 환경이 아니라면 .jar 파일을 직접 받아서 사용해주면 된다. https://code.google.com/archive/p/json-simp.. 2021. 8. 8.
[JAVA] 자바_특정 파일 이동 및 이름 변경하기 (ft. renameTo() 등) - 자바 특정 파일 이동 및 이름 변경하기 - Java File 클래스에서 제공해주고 있는 renameTo() 함수 그리고 몇가지 방법을 통해 파일 이동 및 이름 변경에 대해 알아보자. 사실 파일 이름이라고 하면 경로를 포함하고 있기 때문에 rename과 move를 동일하게 보고있다. File 클래스 renameTo() 사용 File oldfile = new File("c:/mine_data/mine(1).txt"); File newfile = new File("c:/mine_data/it/mine.txt"); if(oldfile.renameTo(newfile)){ System.out.println("File rename success"); }else{ System.out.println("File ren.. 2021. 7. 26.
[JAVA] 자바_특정 디렉토리 경로의 파일 목록 가져오기 - 특정 디렉토리 파일 목록 가져오기 - Java에서 File 클래스를 사용해 특정 경로의 파일 리스트를 가져오는 방법에 대해 알아보자. File 클래스가 기본적으로 제공해주는 함수이다. - list() : 디렉토리에 있는 파일들의 이름 목록을 반환 - list(FilenameFilter filter) : 디렉토리에 있는 파일들의 이름을 필터링한 이름 목록을 반환 - listFiles() : 디렉토리에 있는 파일 목록을 반환 - listFiles(FileFilter filter) : 디렉토리에 있는 파일들을 필터링한 파일 목록을 반환 - listFiles(FilenameFilter filter) : 디렉토리에 있는 파일들의 이름을 필터링한 파일 목록을 반환 코드로 살펴보기에 앞서 접근하기에 앞서 현재 파.. 2021. 7. 24.
[JAVA] 자바_Map 선언과 동시에 초기화 하기 - Map/HashMap 선언과 동시에 초기화 하기 - 말 그대로 Map을 선언과 동시에 초기화 하는 방법에 대해 알아보자. map말고도 list 등 비슷한 구조를 가진 것들은 모두 가능하다. 예제 1) Map 선언 초기화 public class MapTest{ public static void main(String[] args){ Map mineMap = new HashMap() { { put("key1", "value1"); put("key2", "value2"); } }; } } 예제와 같이 선언과 동시에 초기화가 가능하며 해당 값을 변경하지 못하도록 static과 final 등을 조합하여 미리 선언하여 많이들 사용하고는 한다. 참고 : http://dveamer.github.io/backend/I.. 2020. 9. 16.
[JAVA] 자바_공백 제거하기 (feat. replaceAll) - replaceAll을 사용한 공백 제거하기 - 생각보다 개발을 하게되면 공백을 제거해야 하는 상황이 많이 생긴다. trim을 사용하는 방법도 있지만 replaceAll을 사용해 공백을 제거하는 방법에 대해 알아보자. " "(공백)을 이용한 공백 제거 public class ReplaceAllTest{ public static void main(String[] args){ String targetStr = " ... " String replaceStr = targetStr.replaceAll(" ",""); } } 일반적인 경우는 이같은 방법으로 충분히 제거하여 사용이 가능하나, 이 방법은 완전하지 않아 잘 사용하지 않는다. 정규식을 이용한 공백 제거 public class ReplaceAllTest{.. 2020. 6. 11.
[JAVA] java.util.regex.PatternSyntaxException: Dangling meta character - Exception in thread "main" java.util.regex.PattenSyntaxException: Dangling meta character - 해당 에러는 메타문자로 들어가는 일부 특수문자인 ?, *, + ,( ,) ,[, ], {, } 와 같은 문자를 replace, replaceAll, split 등을 사용하여 치환 및 나누어주는 기준으로 사용할 때 발생하는 에러이다. 나같은 경우는 아래와 같은 에러가 발생하였다. Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0 at java.util.regex.Pattern.error(Pattern.. 2020. 6. 1.
반응형
TOP