자바 기본 문법정리 -자료형

wook2·2022년 6월 21일
0

JAVA

목록 보기
1/1

1) 자료형

자료형의 가장 기본은 primitive type인지, reference type인지를 구분해야 한다.

  • primitive type
    원시 타입의 값은 변경 불가능 하다. 또한 실제 값을 저장하기 때문에 stack 영역에 저장된다.
    이 말을 처음 들었을 때는 잘 이해가 가지 않았다. 내가 변수를 선언하고 초기화 한뒤, 값을 변경하지 않는가?
    원시 타입의 값은 변경 불가능하다는 말은 "변수가 아니라 값에 대한 진술이다"
    변수는 언제든지 재할당을 통해 "값"을 변경할 수 있는데, 새로운 값을 대입할 때는 새로운 메모리 공간을 만들고 변수가 해당 공간을 가리키도록 한 것이다.
    자바의 primitive type에는 int,long,double,float,boolean,char이 있다.

  • reference type
    기본타입을 제외한 모든 타입은 reference type이다.
    값이 저장되어있는 주소값을 저장하기 때문에 heap영역에 저장되어 있다.
    Array, class, interface등 모든 객체타입들이 여기에 해당된다.

가령 자바에서 자주 쓰는 String은 String s = "ABC"와 같이 리터럴로 표현할 수 있는데,
이는 String이 primitive type이 아니라 자바에서 리터럴 표현식을 쓸 수 있도록 대우해 주는 것이다.

1-2) 문자열 자료형

많이 사용하는 문자열 자료형에는 String, StringBuilder, StringBuffer가 있다.

문자열을 많이 변경할 일이 없다면 String을,
멀티스레딩 환경에서 안전하게 사용해야 한다면 StringBuffer를,
그렇지 않다면 보통에 경우에 StringBuilder를 사용하는 것이 좋다.

1-3) List 자료형

List 자료형에는 List 인터페이스를 구현한 Arraylist, Vector, LinkedList가 있다.

  • Arraylist
    Arraylist가 가지는 메서드는 다음과 같다
    get - 해당 인덱스의 값을 가져온다.
    size- 배열의 크기를 반환
    contains - 해당 값이 있는지 확인
    remove(객체) - 리스트에서 객체에 해당하는 값을 삭제
    remove(인덱스) - 해당 인덱스에 있는 값을 삭제

Arrays.asList(문자열 배열) 이 메서드를 이용해 이미 존재하는 문자열 배열로 arrayList를 만들 수 있다.
String.join(배열) 파이썬의 ''.join과 같은 맥락으로 배열의 값을 문자열로 만들어 준다고 생각하면 된다.

  • 리스트 정렬하기
    array.sort(Comparator.naturalOrder());

1-4) Map 자료형

Map 자료형에는 Map 인터페이스를 구현한 HashMap, LinkedHashMap, TreeMap등이 있다.

  • HashMap
    HashMap이 가지는 메서드
    put(key,value) - 키-값 쌍을 HashMap에 넣는다.
    get(key) - 키값에 해당하는 값을 가져온다.
    getOrDefault(key,default) - 키값에 해당하는 값이 없으면 디폴드 값으로 반환
    containsKey(key) - 해당 키가 있는지 확인
    remove(key) - key값에 해당되는 아이템을 삭제후, value를 리턴
    size() - Map의 개수 리턴
    keySet() 모든 key를 모아서 리턴
  • LinkedHashMap은 입력된 순서대로 데이터를 저장한다.
  • TreeMap은 입력된 key의 오름차순 순서로 데이터를 저장한다.

1-5) Set 자료형

Set 자료형에는 Set 인터페이스를 구현한 HashSet, TreeSet, LinkedHashSet등이 있다.

파이썬의 set 자료형과 같은 맥락으로 쓰인다.

  • 교집합 구하기
    hashset.retainAll(hashset2) retainAll을 통해 교집합을 구할 수 있다.

  • 합집합 구하기
    hashset.addAll(hashset2) addAll을 통해 합집합을 구할 수 있다.

  • 차집합 구하기
    hashset.removeAll(hashset2) hashset에서 hashset2를 뺀 차집합을 구할 수 있다.

  • 값 추가하기
    add, addAll

profile
꾸준히 공부하자

0개의 댓글