일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- react오류
- vs code 내 node
- 모던자바스크립트
- intellij
- Concurrently
- Colaboratory 글자 깨짐
- 모두의 파이썬
- 노드에 리액트 추가하기
- 계산맞추기 게임
- 자바스크립트
- 거북이 대포 게임
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- DB Browser
- 리액트
- spring-boot
- 웹 게임을 만들며 배우는 리액트
- react
- node.js 설치
- Python
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- 따라하며 배우는 노드 리액트 기본 강의
- node.js로 로그인하기
- JS 개념
- googleColaboratory
- props
- 타자 게임 만들기
- Spring-Framework
- 인프런
- Do it 자바스크립트 + 제이쿼리 입문
- Today
- Total
프로그래밍 삽질 중
(3)HashMap<K, V> 설명 및 문제 본문
※HashMap 특성
- java.util.HashMap
- K : 키로 사용할 요소의 타입
- V : 값을 사용할 요소의 타입 지정
- 키와 값의 쌍으로 구성되는 요소를 다루는 컬렉션 (값을 검색하기 위해서는 반드시 키 필요)
- 삽입 및 검색이 빠른 특징을 가짐
→ 요소 삽입 : put() 메소드
→ 요소 검색 : get() 메소드
- HashMap 문법
HashMap<String, String> hm = new HashMap<String, String>();
[예시1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.util.HashMap;
import java.util.Map;
public class HashMapEx1 {
public static void main(String[] args) {
Map<String, Integer> m = new HashMap<String, Integer>();
String[] sample = {"to", "be", "or", "not", "to", "be", "is", "a", "problem"};
for(String a : sample) {
Integer freq = m.get(a);
m.put(a, (freq == null) ? 1 : freq + 1);
}
System.out.println(m.size() + " 단어가 있습니다.");
System.out.println(m.containsKey("to"));
System.out.println(m.isEmpty());
System.out.println(m);
}
}
|
cs |
[문제 1]
영어 단어와 한글 단어를 쌍으로 HashMap에 저장하고 영어 단어로 한들단어를 검색하는 프로그램 작성하기
예) (help, 도움)
(coffee, 커피)
(sleep, 잠)
[호출]
찾고 싶은 단어는? coffee
커피
찾고 싶은 단어는? love
null
[문제1 답]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class DictionaryEx {
public static void main(String[] args) {
HashMap <String, String> map = new HashMap <String, String>();
map.put("help", "도움");
map.put("coffee", "커피");
map.put("sleep", "잠");
Scanner scan = new Scanner(System.in);
while(true) {
System.out.println("찾고 싶은 단어는 ");
System.out.println(map.get(scan.next()));
//방식 동일, 다른 표현
// String key = scan.next();
// String value = map.get(key);
// System.out.println(value);
}
}
}
|
cs |
[문제 2]
Student 클래스
- 필드 : 이름, id, 전화번호
- 생성자 : 모든 필드들을 초기화하는 매개변수 생성자
- 메소드 : getter
* 이름을 '키'로 하고 Student 객체를 '값'으로 하는 해시맵 작성하기
<Student>
- String name
- int id
- String phoneNo
+ 모든 필드들을 초기화하는 매개변수 생성자
+ public String toString() -> 이름 : 아이디 비밀번호
[출력값]
이름 아이디 전화번호 순으로 입력하시오
(입력값) conan 1 010-1111-1111
(입력값) rose 2 010-2222-2222
(입력값) ran 3 010-3333-3333
(입력값) kid 4 010-4444-4444
등록된 학생의 수 : 4
kid : 4 010-4444-4444
conan 1 010-1111-1111
rose 2 010-2222-2222
ran 3 010-3333-3333
[문제 2 답]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.util.HashMap; import java.util.Map; import java.util.Scanner; class Student { String name; int id; String phoneNo; public Student(String name, int id, String phoneNo) { this.name = name; this.id = id; this.phoneNo = phoneNo; } public String toString() { return String.format("%s : %d %s, name, id, phoneNo); } } public class StudentEx { public static void main(String[] args) { HashMap <String, Student> stu = new HashMap <String, Student>(); Scanner scan = new Scanner(System.in); System.out.println("이름, 아이디, 전화번호 순으로 입력하시오"); for(int i=0; i<4; i++) { // 이름을 '키'로 하고 Student 객체를 '값'으로 하는 해시맵 작성하기 String name = scan.next(); stu.put(name, new Student2(name, scan.nextInt(), scan.next())); } System.out.println("등록된 학생의 수 : " + stu.size()); for(Map.Entry<String, Student> m : stu.entrySet()) { System.out.println(m.getValue()); } } } | cs |
'과거 프로그래밍 자료들 > 자바(Java)' 카테고리의 다른 글
쓰레드(Thread) 설명 및 문제 (0) | 2021.03.09 |
---|---|
컬렉션 프레임워크 (1) ArrayList 설명 및 문제 (0) | 2021.03.09 |
(2) LinkedList, Iterator 설명 및 문제 (0) | 2021.03.08 |
제너릭(generic) 설명 및 문제 (0) | 2021.03.08 |
상속(inheritance) 설명 및 문제 (0) | 2021.03.03 |