분류 전체보기 썸네일형 리스트형 [JAVA 스터디] Map getOrDefault 사용법 getOrDefault- 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드 사용 방법getOrDefault(Object key, V DefaultValue)매개 변수 : 이 메서드는 두 개의 매개 변수를 허용합니다.key : 값을 가져와야 하는 요소의 키입니다.defaultValue : 지정된 키로 매핑된 값이 없는 경우 반환되어야 하는 기본값입니다.반환 값 : 찾는 key가 존재하면 해당 key에 매핑되어 있는 값을 반환하고, 그렇지 않으면 디폴트 값이 반환됩니다.다음은 getOrDefault 메서드의 사용법입니다. import java.util.HashMap;public class MapGetOrDefaultEx { public static void main(Strin.. 더보기 [JAVA 스터디] BufferedReader / BufferedWriter BufferedReader / BufferedWriterBufferedReader와 BufferdWriter는 버퍼를 사용하여 읽기와 쓰기를 하는 함수이다. 버퍼를 사용하지 않는 입력은, 키보드의 입력이 키를 누르는 즉시 바로 프로그램에 전달된다.반면 버퍼를 사용하는 입력은, 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송한다. 버퍼가 가득 차거나 혹은 개행 문자가 나타나면 버퍼의 내용을 한 번에 프로그램에 전달한다. 한번 버퍼를 거쳐 출력되는 것보다, 키보드의 입력을 받는 즉시 출력하는 것이 더 빠른 것이 아닌가 생각할수 있다.하드디스크는 속도가 느리다. 그리고 외부 장치(키보드, 모니터 등)와 데이터 입출력도 생각보다 시간이 오래 걸린다. 그렇기 때문에 키보드의 입력이 있을 때마다 바로 이동시키는.. 더보기 [JAVA 스터디] 250122 Map 객체 활용 - 오늘의 학습 키워드Map 객체 활용 1. put(K key, V value)키와 값을 맵에 저장 한다.키가 존재하면 새값으로 대체된다.Map map = new HashMap();map.put("apple", 50);map.put("banana", 30); 2.get(Object key)지정된 키에 대응하는 값을 반환하다. 키가 없으면 null을 반환int price = map.get("apple"); // 50 3.remove(Object key)키와 그에 대응하는 값을 제거map.remove("banana"); 4.cotainsKey(Object key)Map에 지정된 키가 존재하는지 여부를 반환boolean hasApple = map.containsKey("apple"); // true 5.c.. 더보기 [JAVA 스터디] 250121 해시 알고리즘 - 오늘의 학습 키워드해시 알고리즘 자바는 다른 프로그래밍 언어와는 다르게 Hash를 자주 사용합니다.그러면 어느 부분에서 사용되는지 한 번 알아보겠습니다!!Hash?해시 함수(hash function) 또는 해시 알고리즘(hash algorithm) 또는 해시함수알고리즘(hash函數algorithm)은 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드, 해시 체크섬 또는 간단하게 해시라고 한다해시란 보통 입력값을 임의의 고정된 길이의 데이터로 바꿔주는 함수입니다.위 그림과 같이 key 값으로 이름이 들어왔다면 이를 고정된 길이의 문자열/정수 등으로 바꿔주는 역할을 수행하는 함수입니다.보통 key 값을 임의의 데이터로 변경하는 과정을.. 더보기 [JAVA 스터디] 250120 hash 함수 - 오늘의 학습 키워드해시 함수 해시는 저장 또는 검색 등에서 자주 활용되는 자료구조입니다. 정확하게는 특정한 함수(알고리즘)를 통해서 값을 추출하고 활용하는 것인데요. 함수(알고리즘)를 어떻게 구현하는지에 따라 사용 용도와 성능이 달라집니다.이러한 해시는 더 나아가서 암호, 블록체인, 메시지 인증 코드 등에서도 활용됩니다.해시(Hash)해시(Hash)는 입력 데이터를 고정된 길이의 데이터로 변환된 값을 말합니다. 다른 말로는 '해시 값(Hash value), 해시 코드, 체크섬' 이라고도 합니다. 이러한 해시는 뒤에서 알아볼 '해시 함수'에 의해서 얻게 됩니다. 간단하게 말하자면, 데이터의 KEY 값이 해시 함수를 통해서 변환된 간단한 정수입니다. 이렇게 정수로 변환된 해시는 배열의 인덱스, 위치,.. 더보기 [JAVA 스터디] 250117 2차원배열 - 오늘의 학습 키워드2차원 배열, 배열 초기화 2차원 배열을 실제로 사용하는 방법에 대해서 알아보도록 하자.여기에서는 다른 방식으로 선언하는 방법과2차원 배열에 값을 저장하고 출력하는 방법에 대해서 알아보려고 한다. 목표 : 2차원 배열에 값을 저장하고 출력하는 방법을 이해하고 사용할 수 있다. 1. 2차원 배열에 값을 저장 2차원 배열을 선언도 해봤고 구조도 어떻게 되어 있는지 알아봤으니이제 값을 저장하고 가져오는 방법에 대해서 알아보도록 하자.먼저 저장하는 방법이다.예시를 위해 2차원 배열을 만들어보자. 예시1)char[][] charArr = new char[4][2]; 이번에는 char타입의 2차원 배열을 선언해 보았다.구조는 앞에서 살펴봤던 2차원 배열의 구조와 거의 흡사하니 이 전의 글을 .. 더보기 [JAVA 스터디] 250116 BufferedReader - 오늘의 학습 키워드BufferedReader 클래스의 특징Buffered Reader와 ScannerJava를 처음 시작하면서 입력을 받을 땐 항상 Scanner를 사용했다.만약 정수를 하나 입력받는 다고 하면 다음과 같이 작성할 수 있다.Scanner sc = new Scanner(System.in);int i = sc.nextInt();Scanner 클래스가 제공하는 여러 메서드들을 통해 정수 입력, 줄 단위 입력, 문자열 입력 등등 원하는 동작을 수행할 수 있다.의문점사실, Scanner만 사용했다면 궁금해하지도 않았을 의문점이 있다.Java로 알고리즘 문제를 풀 때, 평소처럼 Scanner를 통해 입력을 받으면 시간초과가 나는 Case를 자주 격어보았다. 메인 로직은 모두 동일하고, 입출력의 .. 더보기 [JAVA 스터디] 250115 Scanner - 오늘의 학습 키워드Scanner 클래스의 특징기본적인 데이터 타입들을 Scanner 의 메소드를 사용하여 입력받을 수 있다. 예로 들어 100을 입력하고자 할 때, String(문자열)로 입력받고 싶으면 next() 나 nextLine() 을, int(정수)로 입력받고 싶다면 nextInt() 를 사용하여 입력받으면 알아서 해당 타입으로 입력된다. Scanner 을 사용할 시 util 패키지를 경로의 Scanner 클래스를 호출해야 한다. 자바에서 쓰이는 대부분의 클래스는 lang 패키지가 아니라면 import 을 통해 호출해주어야 한다. Scanner 의 경우는 java.util 패키지에 있다. 공백(띄어쓰기) 또는 개행(줄 바꿈)을 기준으로 읽는다. Scanner 의 입력 메소드들은 대부분 공백과.. 더보기 [JAVA 스터디] 250114 Buffered Reader - 문자열 출력 - 오늘의 학습 키워드그대로 출력하기 2 성공- 공부한 내용 본인의 언어로 정리하기BufferedReader:Scanner와 유사.Bufferedwriter:System.out.println();과 유사둘은 모두 기존에 쓰던 scanner와 System.out.println()보다 속도 측면에서 훨씬 빠르기 때문에(입력된 데이터가 바로 전달되지 않고 버퍼를 거쳐 전달되므로 데이터 처리 효율성을 높임)많은 양의 데이터를 처리할 때 유리하다. 하지만 그에 비해 BufferdReader은 Enter만 경계로 인식하고 받은 데이터사 String으로 고정되기 때문에 입력받은 데이터를 가공하는 작업이 필요한 경우가 많다. 사용법에 앞서 이 둘을 사용하려면 다음의 import가 추가적으로 필요하다.import.. 더보기 [JAVA 스터디] 250113 Math.random - 랜덤으로 난수 생성하기 - 오늘의 학습 키워드-> 자바로 난수생성 - 공부한 내용 본인의 언어로 정리하기 1. Math.random 개념 개념자바에서 난수를 만드는 방법은 2가지가 있습니다.Random 클래스 사용Math.random() 차이점1. Random 클래스는 int, long, float, double, boolean type의 난수를 얻을 수 있지만 Math.random()은 0.0에서 1사이의 난수를 얻습니다.2. Random 클래스는 seed를 설정 할 수 있지만 Math.random()은 현재시간으로 seed가 고정되어있습니다. - seed란 난수를 만드는 알고리즘에 사용되는 값으로 seed가 같으면 같은 난수를 생성합니다. 1. Random 클래스 사용import java.util.Random; 이 문.. 더보기 이전 1 2 3 4 ··· 25 다음