맵(map)
key 값과 value 값을 한쌍으로 가지는 자료형으로 파이썬에서 dictionary와 비슷하다.
HashMap
맵 자료형 중 가장 기본이다
import java.util.HashMap;
public class Sample {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("animal", "동물");
map.put("baseball", "야구");
}
}
HashMap<key의 자료형, value의 자료형> (map 이름)으로 HashMap을 만들 수 있다.
put을 이용하여 map안에다가 넣고자 하는 key, value 값을 넣을 수 있다.
System.out.println(map.get("animal"));// "동물" 출력
get을 이용하여 원하는 key값에 해당하는 value값을 얻을 수 있다.
(value값을 집어넣는다고 key값을 반환하지는 않음, key값에 해당하는 value값이 없을 경우 null을 반환)
System.out.println(map.containsKey("people")); // true 출력
containsKey을 이용하여 map안에 해당 key값이 있는지 없는지 확인가능
(true, false값을 반환)
System.out.println(map.remove("people")); // "사람" 출력
remove을 이용하여 key값을 넣으면 해당 key의 값과 그에 해당하는 value값을 삭제후 value값을 반환함
(해당 key의 값이 없을 경우 null을 반환)
System.out.println(map.size());
size을 이용하여 map의 크기를 사용할 수 있다.
집합(set)
HashSet 대표적인 set이다.
(특징) 1.중복을 허용하지 않는다, 2.순서가 없음
import java.util.Arrays;
import java.util.HashSet;
public class Sample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>(Arrays.asList("H", "e", "l", "l", "o"));
System.out.println(set); // [e, H, l, o] 출력
}
}
중복을 허용하지 않기 때문에 l이 하나만 출력되고 순서가 없기 때문에 H, e, l, o순서대로 출력되지 않는다.
(이를 해결하기 위해 TreeSet, LinkedHashSet을 이용하여 순서를 조정할 수 있음)
HashSet<Integer> intersection = new HashSet<>(w1); // s1으로 intersection 생성
intersection.retainAll(w2); // 교집합 수행
retainAll메서드를 이용하여 intersection이라는 새로운 set설정 후에 w1과 w2의 교집합을 만들 수 있다.
같은 방법으로 합집합을 구할 때는 union을 이용해서, 차집합을 구할 때는 subtract를 이용하면 된다.
kmuset.add("hello");
kmuset.addAll("kmu", "ai");
kmuset.remove("hello");
원하는 set에다가 add, addAll, remove를 통해 특정원소를 추가하거나, 특정원소를 제거할 수 있다.
상수집합(enum)
enum AnimalType {
Lion,
Tiger,
ALaphant
};
enum으로 상수 집합을 설정한다.
integer클래스
String num = "123";
int n = Integer.parseInt(num);
문자열을 정수로 바꾸어준다.
String num = "" + n;
정수를 문자열로 바꾸려면 ""을 다음과 같이 추가해준다.
fianl
final int n = 123;
자료형의 값을 단 한번만 설정할 수 있게 강제한다.
(자료형 변환이나 다른 변수 설정 불가능)
if 문
if (조건문) {
<수행할 문장1>;
<수행할 문장2>;
...
} else {
<수행할 문장A>;
<수행할 문장B>;
...
}
기본적인 if문 이다.
조건문에는 비교연산자 혹은 참거짓 값이 들어 갈 수 있고 참일때 아래 문장을 수행한다,
(pocket.contains("money"))
if 조건문 안에 contains을 이용해 pocket이라는 list안에 특정 요소가 있는지 확인할 수 있다.
switch/case문
switch(입력변수) {
case 입력값1: ...
break;
case 입력값2: ...
break;
...
default: ...
break;
}
일정한 형식이 있는 조건판단문
while문
while (조건문) {
<수행할 문장1>;
<수행할 문장2>;
<수행할 문장3>;
...
}
조건문이 참일때 다음 문장을 수행한다.
(조건문이 true일때 무한 루프가 실행된다.)
for문
for (초기치; 조건문; 증가치) {
...
}
'WINK-(Web & App) > JAVA 스터디' 카테고리의 다른 글
[2024-2 Java 스터디] 정채은 #3주차 (0) | 2024.10.31 |
---|---|
[2024-2 Java 스터디] 김재승 #3주차 (0) | 2024.10.31 |
[2024-2 Java 스터디] 이민형 #3주차 (5장) (0) | 2024.10.31 |
[2024-2 Java 스터디] 김지수 #3주차 (0) | 2024.10.31 |
[2024-2 Java 스터디] 김지나 #3주차 (0) | 2024.10.31 |