본문 바로가기

IT/java34

Java 람다 표현식: 간결하고 강력한 함수형 프로그래밍 자바 8부터 도입된 람다 표현식은 함수형 프로그래밍을 위한 강력하고 간결한 기능입니다. 자바 람다 표현식에 대해 자세히 알아보고 예시를 통해 설명하겠습니다. 람다 표현식의 개념 람다 표현식은 익명 함수를 작성하기 위한 간단한 문법입니다. 메서드를 하나의 식으로 표현하여 함수형 인터페이스의 구현체로 사용할 수 있습니다. 람다 표현식은 함수형 인터페이스에 대한 구현을 간단하게 전달하고, 코드의 가독성과 유지보수성을 향상시킵니다. 람다 표현식의 문법 람다 표현식은 다음과 같은 구조로 이루어집니다. (매개변수) -> { 실행문; } 매개변수는 메서드의 매개변수와 비슷한 형태로 작성하고, 중괄호 {} 안에 실행할 코드를 작성합니다. 예를 들어, 정수의 제곱 값을 계산하는 람다 표현식은 다음과 같이 작성할 수 있습.. 2023. 6. 11.
Java I/O: 입출력 작업을 위한 자바의 기본 자바에서 I/O(Input/Output) 작업은 데이터를 읽고 쓰는 작업을 의미합니다. 자바의 I/O에 대해 자세히 알아보고 예시를 통해 설명하겠습니다. 바이트 기반 입출력 스트림 바이트 기반 입출력 스트림은 데이터를 바이트 단위로 처리하는 스트림입니다. 자바에서 InputStream과 OutputStream 클래스는 바이트 기반 입출력 스트림을 다루기 위해 사용됩니다. try (InputStream inputStream = new FileInputStream("input.txt"); OutputStream outputStream = new FileOutputStream("output.txt")) { int data; while ((data = inputStream.read()) != -1) { outp.. 2023. 6. 10.
자바(Java) Set: 집합 개념의 데이터 구조 자바에서 Set은 중복을 허용하지 않고 순서가 없는 데이터 구조입니다. Set은 집합 개념을 기반으로 하며, 고유한 값을 유지하고 검색, 추가, 제거 등의 작업을 효율적으로 수행할 수 있습니다. 자바 Set에 대해 자세히 알아보고 예시를 통해 설명하겠습니다. HashSet 클래스 HashSet은 자바에서 가장 일반적으로 사용되는 Set 인터페이스의 구현 클래스입니다. HashSet은 해시 테이블을 사용하여 요소를 저장하며, 순서가 보장되지 않습니다. HashSet은 다양한 데이터 유형을 저장할 수 있으며, 중복된 값을 자동으로 제거합니다. Set names = new HashSet(); names.add("Alice"); names.add("Bob"); names.add("Alice"); // 중복된 값.. 2023. 6. 9.
자바 이터레이터(Iterator): 컬렉션의 요소를 순회하며 접근하기 위한 인터페이스 자바에서 Iterator는 컬렉션(Collection)의 요소에 접근하고 순회하기 위한 인터페이스입니다. Iterator를 사용하면 컬렉션의 내부 구조에 상관없이 요소에 순차적으로 접근할 수 있습니다. 자바에서는 java.util 패키지에서 Iterator 인터페이스를 제공하며, 이를 구현한 컬렉션 클래스들은 Iterator를 통해 요소를 순회할 수 있습니다. Iterator 인터페이스 메서드 Iterator 인터페이스는 다음과 같은 메서드를 제공합니다. boolean hasNext(): 순회할 다음 요소가 있는지 확인합니다. E next(): 다음 요소를 반환합니다. void remove(): 현재 순회 중인 요소를 삭제합니다. (선택적인 기능) ArrayList에서 Iterator 사용하기 다음은 A.. 2023. 6. 9.
자바 맵(Map): 키-값 쌍으로 데이터를 관리하는 자료구조 자바에서 Map은 키(Key)와 값(Value)으로 데이터를 관리하는 자료구조입니다. 각각의 키-값 쌍은 서로 연결되어 있으며, 특정 키를 통해 값을 검색하거나 수정할 수 있습니다. 자바에서는 java.util 패키지에서 Map 인터페이스를 제공하며, 이를 구현한 여러 클래스들이 있습니다. HashMap HashMap은 가장 일반적으로 사용되는 Map 구현체입니다. 내부적으로 해시 테이블을 사용하여 데이터를 저장하며, 키의 해시값을 기반으로 데이터의 조회 및 수정이 빠릅니다. 다음은 HashMap의 예시입니다. Map scores = new HashMap(); scores.put("Alice", 90); scores.put("Bob", 85); scores.put("Charlie", 95); int bo.. 2023. 6. 9.
자바 리스트: 데이터를 유연하게 관리하는 도구 자바에서 리스트는 데이터를 순서대로 관리하고 접근하는 데 사용되는 자료구조입니다. 리스트는 크기가 가변적이며 중복된 값을 허용합니다. 자바에서는 java.util 패키지에서 List 인터페이스를 제공하며, 이를 구현한 여러 클래스들이 있습니다. ArrayList ArrayList는 가장 일반적으로 사용되는 리스트 구현체입니다. 내부적으로 배열을 사용하여 데이터를 저장하며, 데이터의 삽입과 삭제가 빈번한 경우보다 데이터의 조회가 많은 경우에 유리합니다. 다음은 ArrayList의 예시입니다. List names = new ArrayList(); names.add("Alice"); names.add("Bob"); names.add("Charlie"); System.out.println(names.get(1).. 2023. 6. 9.
자바 제네릭: 타입 안정성을 위한 강력한 도구 자바 제네릭은 자바 5부터 도입된 기능으로, 타입 안정성을 제공하여 컴파일 시점에서 타입 오류를 잡아내고 프로그램의 안정성을 높여줍니다. 제네릭은 클래스나 메서드를 작성할 때 일반적인 타입 대신 실제 타입을 파라미터로 받아 사용하는 방식을 말합니다. 이를 통해 재사용성과 유연성을 높일 수 있습니다. 제네릭 클래스 제네릭 클래스는 클래스 선언 시 타입 파라미터를 사용하여 일반적인 타입을 추상화합니다. 예를 들어, ArrayList 클래스는 제네릭을 사용하여 여러 종류의 객체를 저장할 수 있습니다. 다음은 제네릭 클래스의 예입니다. public class Box { private T value; public void setValue(T value) { this.value = value; } public T .. 2023. 6. 9.
자바(Java)에서 날짜와 시간 얻기 Java에서는 java.util 패키지와 java.time 패키지를 사용하여 날짜와 시간을 다룰 수 있습니다. Java에서 날짜와 시간을 얻는 방법에 대해 알아보고, 예시를 통해 설명하겠습니다. java.util 패키지 사용하기 java.util 패키지에서는 Date 클래스와 Calendar 클래스를 사용하여 날짜와 시간을 다룰 수 있습니다. 현재 날짜와 시간 얻기 현재 날짜와 시간을 얻으려면 Date 클래스를 사용합니다. 다음은 예시 코드입니다. import java.util.Date; public class Example { public static void main(String[] args) { Date currentDate = new Date(); System.out.println(currentD.. 2023. 6. 9.