[03장 자료형]
클래스 명과 파일 명이 동일한 경우 클래스에 public을 붙이자.
char형 변수는 작은따옴표로 감싸줘라.
Primitive 자료형 : ( int, long, double, float, boolean, char ) = Literal로만 값 세팅 가능
'=='와 string.equals(string)의 차이는 '=='으로 비교할땐 객체 비교 연산을 하고, string을 올바르게 비교하려면 string.equals(string)을 사용하라.
String의 내장 메소드
- equals : 비교
- indexOf : 특정 문자열의 시작 위치
- contains : 특정 문자열의 포함 여부
- charAt : 문자의 위치를 리턴
- replaceAll(String1, String2) : String1의 문자열을 String2로 대체
- substring(int1, int2) : int1의 시작 위치부터 int2 위치 바로 전까지 문자열 추출
- toUpperCase() : 문자열을 모두 대문자로 변경
- split(String) : 문자열을 string으로 나누어 배열로 리턴
StringBuffer : 멀티스레드에서 안전, 성능은 낮다.
StringBuilder : 성능은 뛰어남
- append, insert 메소드 사용
ArrayList
- add(a, b) : a 위치에 b를 삽입
- get(a) : a 위치에 값을 리턴
- size() : 리스트의 갯수를 리턴
- contains(a) : 리스트에 a가 포함되어있는가
- remove(객체) : 객체에 해당하는 항목을 삭제한 결과를 리턴
remove(인덱스) : 해당 인덱스의 항목을 삭제하고 삭제한 항목을 리턴
- List.sort(Comparator.naturalOrder()); //오름차순 정렬
- List.sort(Comparator.reverseOrder()); //내림차순 정렬
Generics의 개념
ex) ArrayList<String> temp = new ArrayList<>(); // Generics를 사용하면 형변환을 이용하는 불필요한 코딩과 잘못된 형변환으로 인해 발생하는 런타임 오류를 방지할 수 있다.
ex) ArrayList temp = new ArrayList<String>(); // 뒤에는 자료형을 명시하지 않아도 됨으로 굳이 작성하지 않는다.
Map 자료형
- Key와 Value를 한 쌍으로 가지는 자료형
- Associative Array 또는 Hash라고도 부른다.
HashMap
- HashMap은 Generics를 사용해야한다.
- put(key, value) : 항목을 추가
- get(key) : key에 대응하는 항목을 리턴한다. 대응하는 항목이 없는 경우 null을 리턴한다.
- getOrDefault(key, default) : key에 대응하는 value 리턴하고, 없는 경우 default를 리턴한다.
- containsKey(key) : Key가 map에 존재하는지 리턴
- remove(key) : Key에 대응하는 value를 삭제하고, 삭제된 value를 리턴한다.
- size() : Map의 크기를 출력
- keyset() : Map의 모든 Key를 set자료형으로 리턴
집합자료형
- HashSet1.retainAll(HashSet2); // HashSet1과 HashSet2의 교집합 수행
- HashSet1.addAll(Hashset2); // HashSet1과 HashSet2의 합집합 수행
- HashSet1.removeAll(Hashset2); // HashSet1과 HashSet2의 차집합 수행
> 모두 수행후 HashSet1에 결과 저장
- HashSet.add(a); // a를 집합에 추가
- HashSet.addAll(List); // 리스트를 전부 HashSet에 추가
- HashSet.remove(a); // a를 집합에서 제거
- TreeSet : 오름차순으로 값을 정렬하여 저장
- LinkedHashSet : 입력 순서로 저장
상수집합
- Enum을 사용하여 상수 집합을 만들 수 있다.
- 매직넘버(각 메뉴를 1, 2, 3과 같이 숫자로 선택하는 방식)을 사용하면 명확한 코드가 아니게 되며, 잘못된 값을 사용하여 발생할 위험성이 있다. 그러므로 상수를 이용해야하며 상수집합을 이용하면 좋다.
형변환
- String.valueOf(n); // 정수 n을 string으로 바꾸어 리턴
- Integer.toString(n); // 정수 n을 string으로 바꾸어 리턴
- Integer.parseInt(s); // 문자열 s를 Int로 변환
final
- final은 자료형에 값을 한번만 변경 후 변경할 수 없게한다.
- List에서는 final하여도 값을 add, remove는 가능하지만 재할당이 불가능하다.
> 만약 수정 불가능한 리스트로 만들고 싶다면 List.of를 이용하여 생성한다.
03장 연습문제 풀이
https://github.com/96-LEEDONGSU/Jump_to_Java/blob/master/src/ex/ex_03.java
'콤퓨타' 카테고리의 다른 글
조의금 정리하기 (0) | 2023.06.12 |
---|---|
[Jump to Java] 필기 - 2 (0) | 2023.01.05 |
[컴퓨터구조] 제어 유닛 (0) | 2021.12.18 |
[컴퓨터구조] CPU의 구조와 기능 - 3 (0) | 2021.12.16 |
[컴퓨터구조] CPU의 구조와 기능 - 2 (0) | 2021.11.08 |