반응형

IT/Java 11

Java에서 Stream API가 뭐에요? LinQ Stream 은 뭐에요?

안녕하세요~ 오랜만에 글을 씁니다...! 오늘은 Java 개발자들을 위해 데이터 처리를 효율적으로 수행할 수 있는 Stream API에 대해 알아보려고 합니다. Stream API는 Java 8부터 도입된 기능으로, 데이터 컬렉션을 처리하고 쿼리하는 데 매우 유용한 도구입니다. C# 에서 LinQ Stream 과 유사한 기능을 제공합니다. 이번 글에서는 Stream API의 개념, 기능 및 사용법에 대해 자세히 알아보도록 하겠습니다. Stream API란? Stream API는 Java에서 데이터 컬렉션을 처리하고 쿼리하기 위한 기능을 제공하는 API입니다. Stream은 데이터 요소들의 연속된 흐름을 나타내며, 이를 이용하여 데이터를 필터링, 변환, 정렬 및 그룹화할 수 있습니다. Stream API를..

IT/Java 2023.07.01

[Java] Arrays.sort 와 Collections.sort 정리(comparable, comparator)

정렬할 때마다 아 Python 할 걸... 생각이 들게 하는 기능 근데 또 생각하려면 기억 안나서 계속 구글링해야하는 기능 정리해두려고합니다. (회사에선 C#쓰면서 Java 못놓는 중,,,) Arrays.sort 오름차순 import java.util.Arrays; public class Sort { public static void main(String[] args) { String[] str = {"1", "5", "4", "3", "6", "2"}; for(String s : str) { // 정렬 전 출력 System.out.print(s + " "); } System.out.println(); Arrays.sort(str); // 정렬 후 출력 for(String s : str) { System..

IT/Java 2023.02.25

[JAVA 스터디][8주차] 인터페이스와 메서드

학습할 것 ● 인터페이스 정의하는 방법 ● 인터페이스 구현하는 방법 ● 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 ● 인터페이스 상속 ● 인터페이스의 기본 메소드 (Default Method), 자바 8 ● 인터페이스의 static 메소드, 자바 8 ● 인터페이스의 private 메소드, 자바 9 ​ 인터페이스란? 정의 : 다른 클래스를 작성할시 기본 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할을 담당하는 추상클래스 . 추상메소드와 상수만 포함 가능 합니다. JAVA에서 다중상속을 받을 수가 없습니다. 하지만, 인터페이스를 통해 다중 상속을 받을 수 있습니다. ​ 인터페이스 정의하는 방법? 클래스 작성방법과 유사합니다. class대신 접근 제어자 interface를 사용합니다. [publ..

IT/Java 2021.01.09

[JAVA 스터디][4주차-2] JUnit5 정의와 테스트 코드 예시

JUnit 이란? 유닛 테스트 프레임워크(XUnit) 계열 중 하나로 자바용 단위 테스트 도구 장점 : 같은 테스트 코드를 여러 번 작성하지 않게 해주고, 그 결과가 어떠해야 하는 지를 기억할 필요가 없게 하는 자동화된 해법을 제공 한다 JUnit4 → JUnit5 ??? 더 단순하고, 확장성 있게 만들기 위함 + 외부 라이브러리를 사용해야 했던 Parameter Test 등의 부가 기능을 공식적으로 지원 (JUnit 5는 런타임 시에 Java 8이상이 필요합니다. 그러나 이전 버전의 JDK로 컴파일 된 코드는 계속 테스트 할 수 있습니다.) IntelliJ는 기본적으로 JUnit 5를 지원합니다. 따라서 IntelliJ에서 JUnit 5를 실행하는 것은 매우 간단합니다. 오른쪽 클릭 –> 실행 또는 C..

IT/Java 2020.12.11

[JAVA 스터디][4주차-1] 제어문, 조건문, 반복문

4주차(1) - 목차1. 제어문2. 조건문3. 반복문 제어문이란? 프로그램의 흐름을 개발자가 원하는 방향으로 제어할 수 있는 구문 제어문의 종류 조건문 ..... if, switch 반복문 ..... for, while 조건문 if 명령문 블록의 실행 여부를 결정하는 데 사용됩니다. 주어진 조건이 참이면 해당 명령문 블록이 실행되고, 거짓이면 명령문 블록을 건너 뜁니다. 어떤 조건도 참이 아니면 마지막 else 문이 실행됩니다.if, else if, else 순서 if(condition) { // If condition is true then this block of statements will be executed } else if(condition) { // If condition is true th..

IT/Java 2020.12.11

[JAVA 스터디][3주차] 산술,비트,관계,논리 연산자 + instanceof, 화살표(->),switch, assignment(=), 3항 연산자

3주차 - 목차 1. 산술 연산자2. 비트 연산자3. 관계 연산자4. 논리 연산자5. instance of6. assignment(=) operator7. 화살표 (->) 연산자8. 3항 연산자9. 연산자 우선 순위10. (Java13) switch 연산자 1. 산술 연산자 연산자 설명 + 덧셈연산자 - 뺄셈연산자 * 곱셈연산자 / 나눗셈의 몫을 구하는 연산자 % 나눗셈의 나머지를 구하는 연산자 2. 비트 연산자 연산자 설명 & 비트 단위로 AND 연산 | 비트 단위로 OR 연산 ^ 비트 단위로 XOR 연산 ~ 비트 단위로 NOT 연산 피연산자의 비트 열의 오른쪽으로 이동(빈 공간이 음수일 경우 1, 양수일 경우 0) >>> 피연산자의 비트열의 오른쪽으로 이동(빈 공간은 0) 3. 관계 연산자 연산자 설..

IT/Java 2020.11.27

[JAVA 스터디][2주차_2] 변수 선언 및 초기화, 배열, 타입변환, 캐스팅, 타입추론 정리

2주차(1) 에 이어서... 2주차(2) - 목차 1. 변수 선언 및 초기화 2. 변수의 스코프와 라이프타임 3. 타입 변환, 캐스팅 그리고 타입 프로모션 4. 1차 및2차 배열 선언하기 5. 타입 추론, var 1. 변수 선언 및 초기화 변수란? 값을 저장할 수 있는 메모리 공간에 붙여진 이름이다. 변수라는 것을 선언하면 메모리 공간이 할당되고 할당된 메모리 공간에 이름이 붙는다.변수의 종류인스턴스 변수: 인스턴스가 생성될때 생성된다. 인스턴스 변수의 값을 읽거나 저장하려면 인스턴스를 먼저 생성해야하고 인스턴스별로 다른값을 가질수있다. 각각의 인스턴스마다 고유의 값을 가져가야할때는 인스턴스 변수로 선언을 한다.클래스 변수: 인스턴스 변수에 static만 붙여주면 된다. 인스턴스 변수는 각각 고유한 값을..

IT/Java 2020.11.21

[JAVA 스터디][2주차_1] primitive, reference 타입, 리터럴, 상수 정리

2주차(1) - 목차1. 자바 데이터 타입- 프리미티브타입- 레퍼런스 타입 2. 리터럴과 상수 JAVA 의 데이터 타입은 크게 프리미티브 타입(Primitive type)과 레퍼런스(Reference type) 타입으로 나눠집니다. 각각의 타입으로 변수 선언시 메모리에 공간이 할당됩니다. 이 때, 프리미티브 타입은 메모리를 공간에 직접 데이터를 담습니다. 레퍼런스 타입은 다른 곳을 참조하는 주소값을 담습니다. 차이점은 "메모리 참조 타입" (출처: 뇌를 자극하는 Java프로그래밍 - 한빛미디어) Primitive type 타입 할당되는 메모리 크기 default값 데이터의 표현 범위 정수형 byte 1 byte 0 -128 ~ 127 short 2 byte 0 -32,768 ~ 32,767 int 4 b..

IT/Java 2020.11.21

[JAVA 스터디][1주차_2] javac 컴파일 및 실행, JIT컴파일러 정리

1주차(1)에 이어서... 1주차(2) - 목차 5. 컴파일 하는 방법6. 실행하는 방법7. JIT 컴파일러란 무엇이며 어떻게 동작하는지 먼저, 컴파일이 무엇인지에 대해 알아보겠습니다. 인터프리터와 컴파일러 인터프리터는 사용자가 작성한 소스코드를 '한 문장씩 읽고' 바로 기계어로 바꿔줍니다. 그 후에 변환된 코드를 실행합니다. 그러나 컴파일러는 '전체 소스코드를 모두' 기계어 파일로 바꿔주고 그 후에 변환된 코드를 실행합니다. 빌드 시, 인터프리터는 큰 일을 하지 않지만 컴파일러는 기계어 소스 코드를 기계어 파일로 생성하기 때문에 오래 걸리는 것처럼 보일 수 있습니다. 그러나 그 이후 실행에서, 인터프리터는 한 줄씩 읽고 기계어로 변환하여 실행하지만 컴파일러는 만들어둔 실행파일만 읽으면 되므로 실행속도에..

IT/Java 2020.11.16

[JAVA 스터디][1주차_1] JVM, JDK, JRE, 바이트코드 총 정리

1주차(1) - 목차 1. JVM이란 무엇인가 2. 바이트코드란 무엇인가 3. JVM 구성 요소 4. JDK와 JRE의 차이 1. JVM 이란 무엇인가 Java Virtual Machine(자바 가상 머신) 의 약자로 자바 코드를 컴파일해서 얻은 바이트 코드를 실행하는 주체 자바 어플리케이션을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행하는 것이다. 자바와 OS사이에서 중개자 역할 -> JVM이 설치된 곳이라면 어느곳에서든지 자바파일을 실행할 수 있다.Write Once Run Anywhere! = 플랫폼 독립적 2. 바이트코드란 무엇인가 .java 파일을 JVM에서 컴파일하여 .class 파일로 만든 파일을 의미한다. 3. JVM 의 구성요소 Java Compiler인 javac 를 통해 생성..

IT/Java 2020.11.16
반응형