Java(94)
-
[Java] Map.entrySet()
기존에 알고 있던 'keySet()' 을 사용하면 'Set' 타입으로 Map 객체가 가지고 있는 'key' 값들을 반환해 준다. 하지만 때로는 'key' 값과 'value' 값을 함께 반환받는 것이 필요할 때가 있다. 이럴 때 사용하는 것이 'entrySet()' 메서드로 ' 'key' 와 'value' 를 한 쌍으로 하여 함께 반환 받을 수 있다. 오늘은 해당 메서드를 직접 다루어보며 기능을 확인해보자. 1. 기본 문법Map map = new HashMap();Set> mapEntrySet = map.entrySet(); Entry 는 인터페이스로 Map 인터페이스와 함께 사용되는 듯하다. 인터페이스 설명에 따르면 'entry' 는 Map 의 항목(key-value pair)을 뜻 한다. 즉, 'Ma..
2024.08.25 -
[Java] Map.computeIfAbsent(K key, Function)
해당 메서드는 데이터를 특정 값에 따라 각각의 그룹으로 분류하고자 사용하게 되면서 이렇게 학습한 내용을 정리하게 되었다. 당시 상황은 그룹을 특정할 만한 데이터들과 해당 데이터를 통해 식별가능한 데이터들이 준비된 상태였다. 간단하게 설명하면 집합 '[1,2,3,4,5,6]' 가 있을 때 '1 = [1,2,6], 2 = [3,4,5]' 그룹으로 나누어 데이터를 저장하고 꺼내야 하는 상황인 것이다. 이 때, 'Map.computeIfAbsent()' 메서드를 알게 되었고 문제 해결을 할 수 있었다. 1. Map.computeIfAbsent( ) ? Java 의 Map 클래스 설명에 따르면 지정된 키 값이 아직 연결되지 않은 경우(또는 null 에 매핑된 경우) 지정된 매핑 함수를 사용해 해당 값을 연산을 시..
2024.08.22 -
[사전캠프] Java, Spring 톺아보기
※ 참고 : '톺아보다' 는 '틈이 있는 곳은 모조리 더듬어 뒤지며 찾다' 라는 의미이다. 1. Java 란? 오늘날 널리 사용되는 객체 지양 프로그래밍 언어 및 소프트웨어 플랫폼으로 구성된 기술이다. Java 가 널리 사용되게 된 이유 중 하나는 바로 '이식성' 이라고 한다. PC 나 노트북에서 Java 프로그램용 코드를 작성했다면 이것을 모바일 디바이스로 매우 간편하게 옮길 수 있다. 이는 개발 당시 "한 번 작성하고 어디서든 실행하는 것" 이 주 목표였기에 어찌보면 당연한 것이다. 흔히 착각할 수 있는 JavaScript 와는 크게 다르다는 것을 알아두어야 할 것이다. 가장 큰 차이는 컴파일의 유무로 실행되는 애플리케이션의 차이도 있다. Java 의 경우 개발 당시 목표처럼 어디에서나 실행될 수 ..
2024.08.17 -
[사전캠프] 스파르타 자판기
문제 : 자바 코드를 이용해 자판기를 만들어 보자.조건 : 사용자가 메뉴를 볼 수 있어야 하며, 원하는 음료 및 지불 금액을 입력할 수 있고 반환 금액이 얼마인지 알 수 있어야 한다.package vendingMachine;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner;/** * 사용자가 자판기의 음료 목록(사이다 : 1700원, 콜라 : 1900원, 식혜 : 2500원, 솔의눈 : 3000원)을 확인 할 수 있다. * 사용자는 음료를 선택하고 지불할 금액을 입력할 수 있다. * 만약 존재하지 않는 음료를 입력하면 실행이 종료된다. * 사용자는 음료를 구매한 후에 남은 금액(잔..
2024.08.15 -
[사전캠프] 랜덤 닉네임 생성기
문제 : 랜덤한 닉네임을 생성하는 코드를 작성해보세요.조건 : 사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 출력할 수 있다.package generator;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Random;/** * 사용자는 최소 27가지 이상의 닉네임 중 하나를 랜점으로 출력 할 수 있다. * 사용 가능한 키워드는 {기절초풍, 멋있는, 재미있는}, {도전적인, 노란색의, 바보같은}, {돌고래, 개발자, 오랑우탄} 이다. * 키워드 그룹에서 하나씩 키워드를 랜덤하게 선택해 닉네임을 생성하고 출력한다. */public class Main { public static ..
2024.08.13 -
[Java] PriorityQueue
1. PriorityQueue? 'PriorityQueue' 클래스는 힙 데이터 구조에 기반한 우선순위 큐이다. 해당 큐는 구성 시 지정된 순서(요소의 자연적 순서 또는 명시적 비교기에 의해 부과한 순서)에 따라 요소를 정렬한다. 요소에 대한 검색 작업(poll, remove, peek 등)을 하면 큐의 헤드에 접근한다. 우선순위 큐의 헤드는 지정된 순서와 관련해 가장 작은 요소를 말한다. 만약 여러 요소가 최소 값으로 묶여있다면 큐의 헤드는 요소들 중 하나이다(즉, 묶음이 임의로 끊어진다). 우선순위 큐는 'null' 요소를 허용하지 않는다. 또한 자연적 순서에 의존하는 우선순위 큐의 경우 비교 불가능한 객체의 삽입도 허용하지 않는다(해당 경우 객체를 삽입하면 ClassCastException 이 발..
2024.08.10