Java

    [Java] 컬렉션 프레임워크

    [Java] 컬렉션 프레임워크

    컬렉션 프레임워크(Collection framework)란? 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하고 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 자료구조는 Data Structure라고 하는데, 직역하면 데이터 구조. 좀 더 구체적으로 말하면 '일련의 일정 탕비들의 데이터 모임 또는 관계를 나타낸 구성체'라고 말할 수 있다. 이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다. 컬렉션 프레임워크 주요 인터페이스 컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있다. List 인터페이스 Set 인터페이스 Map ..

    [백준] 2439 별 찍기 -2 [Java]

    [백준] 2439 별 찍기 -2 [Java]

    https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 자바를 배우면서 가장 먼저 풀어보는 문제가 별 찍기 문제였다. 하지만 이 문제는 약간 응용문제인 반대로 찍어내는 문제다. 알고리즘 숫자 N을 입력 받으면 숫자 N번째 줄까지 * 을 오른쪽 정렬로 출력하는 문제이다. 별의 개수 N을 받는다. N번만큼 반복문을 돌린다. (N - i번째 줄) 만큼 공백을 만들고 i번만큼 별을 만든다. import java.util.Scanner; public class Main { public static vo..

    [Java] Optional 이란?

    [Java] Optional 이란?

    Optional 객체를 사용하면 예상치 못한 NullPointException 예외를 제공되는 메소드로 간단히 회피할 수 있다. 즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 된다. [NPE(NullPointException) ?] 개발을 할 때 가장 많이 발생하는 예외 중 하나가 NPE이다. NPE를 피하려면 null 여부를 검사해야 하는데, null 검사를 해야 하는 변수가 많은 경우 코드가 복잡해지고 번거롭다. 그래서 null 대신 초기값을 사용하길 권장하기도 한다. List names = getNames(); names.sort(); // names가 null이라면 NPE가 발생함 List names = getNames(); // NPE를 방지하기 위해 nu..

    [Java] 쓰레드(Thread)

    동작하고 있는 프로그램을 프로세스(Process)라고 한다. 보통 한 개의 프로세스는 한 가지의 일을 하지만, 스레드를 이용하면 한 프로세스 내에서 두 가지 또는 그 이상의 일을 동시에 할 수 있다. 스레드란 어떠한 프로그램 내에서 특히 프로세스 내에서 실행되는 흐름의 단위이다. 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다. 또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스라고 한다. 멀티스레딩이란? 여러 스레드를 동시에 실행시키는 응용프로그램을 작성하는 기법이다. 장점 메모리 공유로 인한 시스템 자원 소모가 줄어든다. 동시에 두 가지 이상의 활동을 하는 것이 가능해진다. 단점 서로 자원을 소모하다가 충돌이 일어날 가능성이 존재한다. 코딩이 난해해져 버그 생성 확률..