본문 바로가기

JAVA

(5)
JAVA Stream 사용법 Project를 진행하던 중, stream에 대한 정리가 필요하다 생각되어, 정리한다.😀 Stream 자바8부터 추가된 기능으로, " 컬렉션, 배열" 등의 저장 요소를 하나씩 참조하며 함수형 인터페이스 ( 람다식 )를 적용하며 반복적으로 처리할 수 있도록 해주는 기능이다. List names = Arrays.asList("jeong", "pro", "jdk", "java"); // 기존의 코딩 방식 long count = 0; for (String name : names) { if (name.contains("o")) { count++; } } System.out.println("Count : " + count); // 2 // 스트림 이용한 방식 count = 0; count = names.stream..
JAVA Exception Exception이란? Exception은 '예외'라는 뜻을 가지고 있다. 예외는 error의 일종이며, 프로그램이 수행시 또는 컴파일시에 불능상태를 만들어 버린다. Exception이 발생하는 이유는 여러가지이다. 잘못된 프로그램 조작 및 개발자 실수 등 여러가지 요인으로 인해 Exception이 발생한다. 만약 금융시스템 또는 365일 24시간 항상 구동되어야 하는 시스템이 Exception으로 인해 시스템이 불능이 되거나, 프로그램이 죽어버리게 된다면 상당히 곤란한 상황에 처할 수 있다. 따라서, 이를 막기 위해 자바에서는 Exception 예외처리라는 방법을 통해 Exception error을 처리한다. 예외 처리란 Exception예외가 발생할 것을 대비하여, 미리 예측해 이를 소스상에서 제어하..
정규표현식 JAVA 공식 문서로 혼내주자!😡 후.. 일단 알고리즘 문제를 풀다보면 문자열 문제와 요즘 유독 많이 마주치는 것 같습니다. 그럴 때마다, 항상 아쉬운 것이 정규표현식 Skill이 완벽하지 않은 나 자신을 마주할 때인 것 같아요. 그래서 계속해서 이 글을 업데이트 해나가면서 정규표현식에 대한 것들을 정리할 예정입니다. ( 기본적인 것들은 다 알고 있다는 가정 하에 정리하려 합니다! 참고 부탁드려용:) 정규표현식 설명 \\ \ 을 나타내는 것임. \t tab을 나타내는 것임. \n 개행 newline [abc] a,b 또는 c [^abc] a,b,c를 제외한 문자 [a-zA-Z] a~z, A~Z [a-z&&[def]] d,e 또는 f . 아무 문자 \d digit = [0-9] \D non-digit = [^0-9] \s A whitesp..
String vs StringBuffer vs StringBuilder ( JAVA ) String vs StringBuffer/StringBuilder 둘의 가장 큰 차이점은 String 은 불변 ( immutable ) 의 속성을 갖는다는 것입니다. 이를 설명하기 위한 좋은 예시로, 위의 그림을 참고하면 좋을 것 같습니다. 즉, String은 불변성을 가지기 때문에, 변하지 않는 문자열을 자주 읽어들이는 경우 String 을 사용하면 좋은 성능을 기대할 수 있지만, 그렇지 않은 경우에는 String을 사용하는 것은 좋은 판단은 아닙니다. 문자열 추가, 수정, 삭제 등의 연산이 많이 일어나는 알고리즘의 경우에는 String을 사용하면 힙 메모리에 많은 임시 Garbage가 생성되어, 힙메모리 부족으로 어플리케이션 성능에 치명적인 영향을 가져다 줄 수 있습니다. 이를 위해, Java에서는 ..
Comparable, Comparator 어떻게 쓰지? JAVA 둘 다 객체를 정렬할 때 사용하는 Interface입니다. 알고리즘 문제를 풀다보면, 자주 접하게 되는 부분이라 한 번 정리를 하고 넘어갈까 합니다😀 Comparable 정렬 수행 시 기본적으로 적용되는 정렬 기준이 되는 메소드를 정의하는 인터페이스 java.lang.Comparable Java에서 제공되는 정렬이 가능한 클래스들은 모두 Comparable 인터페이스를 구현하고 있으며, 정렬 시에 정의된 대로 정렬이 수행됩니다. public final class Integer extends Number implements Comparable { ... } 구현하기 위해서는 Comparable interface를 implements 한 이후에, compareTo() 메소드를 오버라이드하여 구현합니다. re..