콤퓨타

[Jump to Java] 필기 - 1

찹쌀동수육 2023. 1. 3. 21:10

[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

 

GitHub - 96-LEEDONGSU/Jump_to_Java

Contribute to 96-LEEDONGSU/Jump_to_Java development by creating an account on GitHub.

github.com

 

'콤퓨타' 카테고리의 다른 글

조의금 정리하기  (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