본문 바로가기

Back-End/Java16

[java] Stream 총정리 스트림이란? 스트림(Stream)은 자바 8에서 추가된 기능으로 함수형 인터페이스인 람다(lambda)를 활용할 수 있는 기술이다. 예전에는 배열이나 컬렉션을 반복문을 순회하면서 요소를 하나씩 꺼내 여러가지 코드를(예를 들어 if 조건문 등) 섞어서 작성했다면 스트림과 람다를 이용하여 코드의 양을 대폭 줄이고 조금 더 간결하게 코드를 작성할 수 있다. 또한 스트림을 이용하면 멀티 스레드 환경에 필요한 코드를 작성하지 않고도 데이터를 병렬로 처리할 수 있다. 결론은 스레드를 이용하여 많은 데이터들을 빠르게 처리할 수 있다. 기존의 반복문을 사용한다면 synchronized와 같은 병렬성을 위한 동기화 코드를 관리해야 한다. 스트림은 크게 3가지 단계로 동작한다. 1. 컬렉션이나 배열 등으로부터 스트림을 생.. 2022. 8. 9.
[면접] 자바 문제 (for문 안에 객체 ????..) public class Test { public static void main(String args[]) { int sum = 0; for (int i = 0; i < 10_000_000; i++) { sum += i; Test test = new Test(); } System.out.println("sum =" + sum); } } 질문: 정상적으로 동작이 될까요?.. 대답: 아니요 (잘된다...)... 3가지의 속임수가 있다.. 1. int형은 21억까지 밖에 못받음..(...기본) (눈치못챔) 2. 10_000_000 언더바 표기법은 자바7버전 이후부터 사용 가능 3. for문안에 test 객체 생성?.. 이건 왜 실행이 될까 모르겠다.. 답 : 내 생각에는 for문이 돌면서 이름이 겹치기 때문에 .. 2022. 7. 22.
[java] for-each문 간단 예제 for-each문 이란? for - each문은 배열이나 나열의 크기만큼 루프를 돌면서 각 원소를 순차적으로 접근하는데 매우 유용하다. for-each문 활용 예제 public class study { public static void main(String[] args) { String [] names = {"hkd","lge","smj"}; for(String n : names) { System.out.print(n + " "); } } } public class study { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7,8,9,10}; int sum = 0; for(int n : arr) { sum += n; } System.. 2022. 4. 17.
[java] 명명 규칙 반의어 자주 사용하는 반의어 뜻 get / set (getter / setter) 받다 / 받다 add / remove 추가 / 제거 create / destroy 창조 / 파괴 start / stop 시작 / 정지 insert / delete 삽입 / 삭제 increment / decrement 증가 / 감소 old / new 구 / 신 begin / end 시작 / 끝 first / last 처음 / 마지막 up / down 위 / 아래 max / min 최대 / 최소 next / previous 다음 / 이전 open / close 열다 / 닫다 show / hide 보이다 / 숨기다 suspend / resume 일시정지 / 재개하다 parent / child 부모 / 자식 공통 명명 규칙 1. .. 2022. 3. 11.
[Java] ArrayList 정리 2022. 2. 21.
[java] Wraaper 클래스, 박싱(Boxing), 언박싱(Unboxing) Wrapper 클래스 • 자바의 기본 타입을 클래스화한 8개 클래스 • 기본 타입의 값을 객체로 다룰 수 있게한다. • 위와 같은 기본 타입을 Wrapper 클래스로 작성하면 Wrapper 객체 생성이 가능하다 -------기본 타입 값으로 Wrapper 객체 생성 -------- Integer i = Integer.valueOf(10); Character c = Character.valueOf(‘c’); Double f = Double.valueOf(3.14); Boolean b = Boolean.valueOf(true); --------------------------------------------------- ------문자열로 Wrapper 객체 생성 ------------------- Inte.. 2022. 2. 16.