반응형

☕ Java 9

모던 자바 인 액션 - 스트림 활용

목차 필터링 Predicate 필터링 filter는 프레디케이트(boolean을 반환하는 함수)를 인수로 받아서 true로 반환되는 요소를 모은 스트림을 반환한다 List vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .collect(toList()); Distict 필터링 distinct는 객체를 hashCode, equals로 비교하여 고유한 요소를 모은 스트림을 반환한다 List numbers = Arrays.asList(1, 2, 1, 3, 3, 2, 4); numbers.stream() .filter(i -> i % 2 == 0) .distinct() .forEach(System.out::println); 슬라이싱 칼로리 순으로 정렬된 ..

☕ Java 2022.07.16

모던 자바 인 액션 - Stream(스트림)이란?, 스트림특징, 내부반복/외부반복, 게으른중간연산

목차 Stream 이란? SELECT name FROM dishes WHERE calorie < 400 위 SQL문은 칼로리가 낮은 요리명을 선택하라는 질의이다. SQL에서는 요리의 속성(칼로리)를 이용하여 어떻게 필터링할 것인지 개발자가 직접 구현하지 않아도 된다. 하지만 자바에서 필터링하려면 반복문을 돌려서 처리해야한다. 요소가 많은 컬렉션이라면 어떻게할까?? 똑같이 반복문으로 돌려서 처리하면 굉장히 많은 시간이 필요할 것이고, 작업을 병렬로 처리해야 성능을 높일 수 있을 것이다. 저칼로리로 요리를 필터링하고, 칼로리 순서대로 요리를 정렬하는 코드를 작성해보자. //1. 저칼로리 요리 필터링 //2. 칼로리로 요리 정렬 ---------------------------------------------..

☕ Java 2022.07.11

모던 자바 인 액션 - 람다표현식, 함수형인터페이스

목차 기억하자. 람다는 기술적으로 자바8 이전의 자바로 할 수 없었던 일을 제공하는 것이 아니다. 람다 표현식 람다 표현식은 메서드로 전달할 수 있는 익명함수를 단순화한 것이다. 람다 표현식은 이름은 없지만, 파라미터, 바디, return값, 예외를 가질 수 있다. //기존의 익명클래스를 이용한 정렬 Comparator byWeight = new Comparator() { public int compare(Apple a1, Apple a2) { return a1.getWeight().compareTo(a2.getWeight()); //⭐ } }; //람다를 이용한 정렬 Comparator byWeight = (Apple a1, Apple a2) -> a1.getWeight().compareTo(a2.ge..

☕ Java 2022.07.10

모던 자바 인 액션 - 람다 탄생 과정

목차 문제상황과 람다 탄생 과정 재고 관리 애플리케이션을 만드려고한다. 농부는 녹색사과를 찾는 기능만 있으면 된다고했다. 하루 지나니 150그램 이상인 사과를 찾는 기능도 있어야한다고한다. 또 하루 지나니 150그램 이상이면서 빨간 사과를 찾는 기능이 있어야한다고한다. 사용자의 요구에 유연한 애플리케이션을 만드려면 어떻게 해야할까? 1번째 시도 : 계속 변화하는 메서드 요청1) 녹색사과 필터링 메서드 만들어주세요 응답1) 네~ public List filterGreenApples(List inventory){ List result = new ArrayList(); for (Apple apple : inventory) { if(GREEN.equals(apple.getColor())){ result.add(..

☕ Java 2022.05.06

자바 변수, 상수, 자료형, 배열, 메서드

[목차] 변수(Variable) 변수의 선언, 할당 상수(Constant) 상수의 선언, 할당 자료형(Data Type) 기본자료형(Primitive Data Type) 사용자 정의 자료형(User Defined Data Type) 배열 배열의 장점 배열의 단점 배열 선언방법 배열 생성방법 가변길이배열 메서드 메서드 선언 및 호출방법 메서드의 매개변수 전달기법 call by value call by reference 변수(Variable) 데이터를 저장할 메모리 공간(RAM)의 이름. 대입연산자(=)를 통해 값을 계속 변경할 수 있다. 변수의 선언, 할당 선언 : 메모리공간을 확보하는 것 int a; // int형 자료가 들어갈 수 있는 a라는 공간을 만든다. 할당 : 변수에 값을 저장하는 것 a = 1..

☕ Java 2021.11.02

자바 배열, 객체 정렬하기 : Comparable, Comparator 인터페이스 (+다중정렬 예시)

[목차] 🟢 기본형변수, Wrapper클래스 배열 정렬 Arrays.sort(배열명) : 배열 오름차순 정렬 Arrays.sort(배열명, Collections.reverseOrder()) : 배열 내림차순 정렬 🟢 객체 정렬 : Comparable과 Comparator 인터페이스를 알아보자 Comparable 인터페이스 - compareTo( ) 메서드 Comparator 인터페이스 - compare( ) 메서드 🟢 정리! 🟢 기본형변수, Wrapper클래스 배열 정렬 참고 : Arrays.toString(배열명) 으로 모두 출력할 수 있다. Arrays.sort(배열명) : 배열 오름차순 정렬 int[] docs = {5, 3, 1, 2, 4}; Arrays.sort(docs); System.out...

☕ Java 2021.10.26

자바 CMD로 프로그램 실행하기, 자바의 장점, JVM이란?

[목차] 개발폴더 살펴보기 CMD로 자바프로그램 실행하기 자바의 장점 : 운영체제에 독립적이다 Java Virtual Machine 이란? 개발 폴더 살펴보기 📁 .settings 📁 bin 📄 AA.class : 실행가능한(=컴파일한) 파일 / 바이트코드 📁 src 📄 AA.java : 실행불가능한(=컴파일하지 않은)파일 / 자바소스코드 📄 .classpath 📄 .project CMD로 자바프로그램 실행하기 1단계 : 소스코드→바이트코드로 변환 ~~/src 폴더에서 cmd실행하여 아래 명령어 입력 javac 파일명.java javac.exe이 컴파일 실행하여 ~~/bin/파일명.class 파일을 생성함 2단계 : java.exe이 바이트코드(.class) 실행 ~~/bin 폴더에서 cmd실행하여 아래..

☕ Java 2021.10.21

자바 개발환경 준비하기(JDK 17설치, Eclipse 설치)

📑[목차] 자바 탄생 JDK : Java Development Kit JRE : Java Runtime Environment 자바 개발환경 준비하기(1) - JDK 설치 +++JDK 잘 설치되었는지 확인하기 자바 개발환경 준비하기(2) - Eclipse 설치 자바 탄생 과거엔 간단한 프로그램도 window용 따로, linux용 따로, mac용.. 등등 운영체제에 따라 코드를 다르게 작성했어야했다. "아 ㅜ 같은 알고리즘을 다른 언어로 몇번을 작성해야하는거야.. 코드 한번만 작성하고, 운영체제 상관없이 프로그램을 만들 순 없을까?" => 해서 Write Once. Run Everywhere의 자바가 나오게된 것!! JDK : Java Development Kit 자바 개발환경 설치하면 자바 프로그램을 실행..

☕ Java 2021.10.20

eclipse 실행 오류 : version 1.8.~ of the JVM is not suitable for this product...

이클립스를 실행하니 이런 오류가 나온다 Version 1.8.~ of the JVM is not suitable for this product. Version: 11 or greater is required. 자바 1.8 버전은 오래되서 이클립스 실행이 안되나보다.. 11 이후의 자바를 설치해달라고하는건데 자바 설치폴더 자바 홈 환경설정 나는 이미 자바 11버전으로 맞추어져있는데 ㅜㅜ 오류가 뜬다 ​ ​ 음.. 그러면! 이클립스를 기본설정대로 설치했으면 C:\Users\사용자이름\eclipse\jee-2020-09\eclipse 폴더의 eclipse.ini 파일을 메모장으로 열어보자 빨간색으로 표시한 저 부분의 자바 버전도 11버전으로 맞추어져있는지 확인하고 저장 그러면 이클립스 실행이 되어야하는데.. ..

☕ Java 2021.10.17
반응형