Posts
Dev blog!
Cancel

Stream API 특징 JAVA 8에 추가된 java.util.stream 패키지이다. 컬렉션 요소를 람다식으로 처리할수 있도록 돕는 함수형 프로그래밍 도구이다. 간결한 코드로 작성할 수 있다. 데이터 소스에 대한 공통된 접근 방식을 유지한다. 코드의 효율성은 기존과 크게 다르지 않다. ...

함수형 프로그래밍 특징 함수형 프로그래밍은 순수함수의 조합으로 이루어진다. 순수 함수: 동일한 입력에는 같은 값을 반환해야 한다. 함수의 출력(return)은 오로지 그 함수에 입력된 값(input)에만 의존한다. 함수의 실행은 프로그램의 실행에 영향을 미치지 않아야 한다. Self-contained되어야...

람다식 표현(Lambda Expression) 특징 JDK 1.8에서 추가된 함수형 프로그래밍 기법이다. 객체지향 프로그래밍과 다르게 비즈니스 로직만 빠르게 구현하는 것이다. 객체지향 언어에서 메소드를 함수처럼 사용하는 방식이다. 람다식을 활용한 예시 // 방법 1. Comparator 클래스를 만들고 객체를 생성하여 전달 class ...

위상정렬(Topological Sort) 역할 간선 그래프가 주어졌을 때, 선행되어야 할 노드와 그 후위 노드를 알 수 있다. 알고리즘 노드와 연결된 노드를 표현하기 위해 List를 선언한다. List<List<Integer>> array = new ArrayList<List<Integer>>(...

내부 클래스(Inner Class) 특징 클래스 내부에 선언하는 클래스로 중첩 클래스라고도 부른다. HAS-A 관계에 있는 클래스(클래스 내부에서 다른 클래스의 객체를 선언하는것)가 해당 클래스에서만 사용될 경우 주로 사용한다. 캡슐화에 용이하다. static final 변수만 가질 수 있다. 외부 클래스 객체가 있어야 생성이 가능...

모노톤 스택 역할 스택을 오름차순 or 내림차순 등으로 정렬된 상태를 유지한다. 이를 이용해 임의의 위치 x보다 왼쪽에 있는 크거나 작은 수의 위치를 바로 알 수 있다. 알고리즘 스택에 들어갈 수를 모두 입력받는다. stack[i] = sc.nextInt() 스택에 수를 넣으면서 현재 스택에 자신보다 작은 수는 모두 제거한다. w...

플로이드 역할 모든 꼭짓점 쌍 간의 최단 경로의 길이(가중치의 합)가 저장된다. 알고리즘 모든 노드 간의 거리를 초기화 해준다(큰 수) map[i][j] = INF 자기 자신은 접근할 수 없다. map[i][j] = 0 문제에서 주어진 경로를 map에 저장한다. map[i][j] = cost 3중 for문을 돌리며 최단 거리를...

Graph 구성요소 정점 (Node, Vertex) 간선 (Edge) : 정점간의 관계 나타냄 (비용, 개수 등등) 그래프는 Vertex와 Edge들의 집합이다. 그래프의 종류 유향 그래프 그래프에 방향성이 있는 그래프. 가중치 그래프 간선에 가중치가 있는 그래프.(Ex. ...

클래스 다이어그램 특징 클래스의 구성요소 및 클래스간의 관계를 묘사하는 다이어그램 시간에 따라 변하지 않는 정적인 시스템 구조를 표현 목적 문제해결을 위한 도메인 구조를 표현하는 것 사용 방법 public: + protected: # default: ~ private: - 따로 주석은 없고 note를 사용한다....

제네릭 특징 대상 객체에 타입을 입력하면서 사용하는 형식 미리 사용할 수 있는 타입을 명시해서 컴파일 타임에 체크 가능 입력을 Object로 할 수 있으나, 런타임에 instanceOf로 객체를 확인해야한다. 제네릭을 사용할 경우 이러한 과정 없이 간결하게 코드 작성을 할 수 있다. class G...

Trending Tags