반응형

알고리즘 3

[Java] PriorityQueue(우선순위 큐) 사용법과 예제

안녕하세요 골드입니다. 1. PriorityQueue(우선순위 큐)란? 흔히 아는 Queue는 FIFO(First In First Out) 형식으로 먼저 들어온 데이터를 먼저 방출하는 방식입니다. PriorityQueue는 Queue인터페이스 중의 하나로, 저장 순서에 상관없이 우선순위(Priority)가 높은 것부터 선출하는 것이 특징입니다. 저장공간으로 배열을 사용하고, 각 요소를 힙(heap)이라는 자료구조 형태로 저장합니다. 힙은 이진트리의 한 형태로 가장 큰 값과 가장 작은 값을 빠르게 찾을 수 있다는 장점이 있습니다. 기본적으로 PriorityQueue는 요소에 대한 비교 기준이 존재해야 하고, 비교 기준에 따라 그 우선순위를 결정하게 됩니다. 2. PriorityQueue 선언 Priorit..

[Java] ArrayList와 배열(Array)의 중복 제거

안녕하세요 골드입니다. 1. 프레임워크 오늘은 Java의 컬렉션 프레임워크에서 가장 많이 사용하는 것으로 보이는 ArrayList에 대해서 글을 작성하도록 하겠습니다. 먼저 컬렉션 프레임워크(Collections Framework)란 다수의 데이터를 다루기 위한 프로그래밍 방식을 의미합니다. 컬렉션 프레임워크는 다양한 클래스를 제공함으로써 프로그래머에게 많은 도움을 줍니다. 또한 객체지향적 설계를 통해 재사용성이 높다는 장점을 가지고 있습니다. 자바에서 컬렉션 프레임워크는 크게 세 가지의 인터페이스를 정의합니다. List, Set, Map이라는 대표적인 인터페이스들이 존재하는데 각각의 인터페이스들은 그 특징을 가지고 있습니다. ArrayList는 이 중 List에 속한 클래스입니다. List는 데이터를 ..

[Java] String Class와 StringBuffer Class

안녕하세요 골드입니다.오늘은 Java에 있는 Class 중 String과 StringBuffer에 대해서 글을 쓰도록 하겠습니다. 1. String 클래스 일부 언어에서는 문자열을 Char형 배열로 다루었습니다.하지만 자바에서는 문자열을 위한 String 클래스를 제공합니다.String은 자바에서 제공해주는 Class입니다. int나 char과 같은 기본 자료형이 아닙니다.String의 내부에서는 일부 언어에서 사용하는 것과 마찬가지로 Char형 배열로 저장됩니다. 문자열 변수를 선언할 때는 두 가지 방법이 있습니다.문자열을 지정하는 방법과 String Class 생성자를 사용하는 방법입니다.첫 번째로 문자열을 지정하는 방법을 사용한 경우입니다. String a1 = "str";String a2 = "s..