728x90
반응형

IT 정보/Java 38

[Java] Optional Class

Optional클래스는 Integer or Double 클래스처럼 T 타입의 객체를 포장해주는 래퍼 클래스다. ( Wrapper class) 따라서 Optional 인스턴스는 모든 타입의 참조변수를 저장할 수 있다. Optional 객체를 사용하면 예상치 못한 NullPointException 예외를 제공되는 메서드로 회피할 수 있다. 즉, 조건문 없이 null값으로 인해 발생하는 예외를 처리할 수 있다. Optional 객체 생성 of()메서드 또는 ofNullable() 메서드를 사용하여 Optional 객체를 생성할 수 있다. of() 메서드는 null이 아닌 값의 Optional 객체를 반환 // null이면 NullPointerException 발생 ofNullable() 메서드는 null 이 ..

IT 정보/Java 2022.05.28

[Java] 스트림 (Stream) (스트림 생성)

스트림(Stream)이란? 스트림은 배열, 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 도와주는 반복자!! ※사용 시 주의점 - read - only - 스트림은 1회용이므로, 한 번 사용하면 닫힌다. 필요하다면 새로 생성해야 한다. - 스트림은 원본 데이터를 변경하지 않는다. - 외부반복 컬렉션과 달리 내부반복을 통해 수행한다. - parallelaStream() 메서드를 통해 손쉬운 병렬처리를 지원한다. - 스트림 연산은 filter-map 기반의 API를 사용하여 지연연산을 통해 성능을 최적화한다. 파이프 라인이란? 스트림(Stream)은 중간연산과 최종 연산을 파이프 라인으로 해결한다. 파이프 라인은 여러 개의 스트림으로 연결되어 있는 구조를 말하는데, 최종 연산을 제외하고 ..

IT 정보/Java 2022.05.28

[Java] 스트림 (Stream) 최종 연산 (terminal operation)

최종 연산 (집계) : 연산 결과 스트림이 아니므로 최종 연산은 한 번만 가능하다. 요소의 출력 : forEach() 요소의 소모 : reduce() 요소의 검색 : findFirst(), findAny() 요소의 검사 : anyMatch(), allMatch(), noneMatch() 요소의 통계 : count(), min(), max() 요소의 연산 : sum(), average() 요소의 수집 : collect() 요소의 출력 forEach() forEach() : 1. 스트림의 각 요소를 소모하여 명시된 동작을 수행한다. 반환 타입이 void이므로 보통 모든 요소를 출력하는 용도로 많이 사용한다. 대표적 예시 ex). stream.forEach(n-> System.out.print(n + " ")..

IT 정보/Java 2022.05.28

[Java] 스트림 (Stream) 중간 연산 (intermediate operation)

중간 연산 : 스트림을 반환하기 때문에 연속해서 수행할 수 있다. 스트림 필터링 : filter(), distinct() 스트림 변환 : map(), flatMap() 스트림 제한 : limit(), skip() 스트림 정렬 : sort() 스트림 연산 결과 확인 : pick() 스트림 필터링 Filter ( ), distinct ( ) Filter() : 1. Stream에서 조건에 맞는 데이터만을 정제하여 더 작은 컬렉션을 만들어 낸다. 2. filter() 메서드에서는 매개 값으로 조건(Predicate)이 주어지고, 조건이 참이 되는 요소만 필터링한다. IntStream stream1 = IntStream.of(7, 5, 5, 2, 1, 2, 3, 5, 4, 6); ex). stream2.filt..

IT 정보/Java 2022.05.27

[Java] Array Class 함수 모음

배열을 다루기 위한 메서드의 모음으로 Arrays 클래스의 모든 메서드는 static method이므로, 객체를 생성하지 않고 바로 사용할 수 있다. 단!! import문으로 java.util 패키지를 호출한 뒤에 사용해야 한다. 앞에 Arrays. 메서드명()을 붙여 사용한다. binarySearch() : 전달받은 배열에서 특정 객체의 위치를 이진 검색 알고리즘으로 검색하여, 위치를 반환 단!! 이진 검색 알고리즘이므로, 배열이 sort() 메서드 등을 사용하여 미리 정리되어 있어야 한다. copyOf() : 전달받은 배열의 특정 길이만큼 새로운 배열로 복사하여 반환한다. copyOfRange() : 특정범위의 해당하는 요소를 새로운 배열로 복사. fill() : 전달받은 배열의 모든 요소를 특정값으..

IT 정보/Java 2022.05.27

[Java] Object Class 함수 모음

가장 많이 사용되는 클래스는 바로 Object 클래스이며, Object 클래스는 모든 자바 클래스의 최고 조상 클래스다. 따라서 모든 클래스는 Object 클래스의 모든 메소드를 바로 사용할 수 있다. protected Object clone() 해당 객체의 복제본을 생성하여 반환함. boolean equals(Object obj) 해당 객체와 전달받은 객체가 같은지 여부를 반환함. protected void finalize() 해당 객체를 더는 아무도 참조하지 않아 가비지 컬렉터가 객체의 리소스를 정리하기 위해 호출함. Class getClass() 해당 객체의 클래스 타입을 반환함. int hashCode() 해당 객체의 해시 코드값을 반환함. void notify() 해당 객체의 대기(wait)하고..

IT 정보/Java 2022.05.27

[Java] String Class 함수 모음

toLowerCase : 모든 문자열을 소문자로 변환한다. toUpperCase : 모든 문자열을 대문자로 변환한다. charAt() : String의 인덱스에 해당하는 문자를 반환 compareTo() : 문자열을 인수와 비교 concat() : 해당문자열에 인수로 전달된 문자열을 추가하여 반환 indexOf() : 해당 문자나 문자열이 처음 등장하는 위치의 인덱스를 반환 trim() : 해당 문자열의 공백을 제거 char charAt(int index) 해당 문자열의 특정 인덱스에 해당하는 문자를 반환함. int compareTo(String str) 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교함. int compareToIgnoreCase(String str) 해당 문자열을 인수로 ..

IT 정보/Java 2022.05.27

[Java] StringBuilder (StringBuffer) 클래스 사용법

String과 StringBuffer(StringBuilder)의 차이 1. 문자열 변경이 빈번하지 않다면 String 사용 2. 문자열이 빈번하게 변경되고 멀티쓰레드 환경이라면 StringBuffer 사용 3. 문자열이 빈번하게 변경되고 멀티쓰레드 환경이 아니라면 StringBuilder 사용 StringBuilder method 종류 append( "추가할 문자열" ) : 문자열 추가 ( 뒤로 붙음 ) length(), capacity() : 길이, 총 용량 insert( int index, "추가할 문자열" ) : 선택한 인덱스에 문자열 추가 ( 뒤 인덱스는 뒤로 밀림 ) reverse() : 문자열 뒤집기 delete( int start, int end-1 ), deletecharAt( index..

IT 정보/Java 2022.05.26

[Java] 문자열를 문자로 변경

2가지 방법 String변수명.toCharArray String변수명.charAt() toCharArray 를 이용한 방법 (1) public class Main { public static void main(String[] args) { String str = "Hello"; char[] changeChar = str.toCharArray(); System.out.println(changeChar[0]); //H } } charAt 를 이용한 방법 (2) public class Main { public static void main(String[] args) { String str = "Hello"; char changeChar = str.charAt(0); System.out.println(chang..

IT 정보/Java 2022.05.26

[Java] 문자를 문자열로 변경

3가지 방법 String 생성자 String.valueOf() String.copyValueOf() String 생성자를 이용한 방법 (1) - String 생성자 public class CharArrToString { public static void main(String[] args) { char[] charArr = {'H', 'e', 'l', 'l', 'o'}; String str = new String(charArr); System.out.println(str); // Hello } } String 생성자를 이용한 방법 (2) - String.valueOf(char 배열명) public class CharArrToString { public static void main(String[] args..

IT 정보/Java 2022.05.26
728x90
반응형