TIL(2023.07.20)

JAKE·2023년 7월 20일

TIL

목록 보기
7/48
post-thumbnail

🏃‍♂️What I learned

1. 배열

  • 같은 자료형의 변수를 하나로 묶은 것

    자료형[ ] 배열변수명 = new 자료형[0~n]

    배열변수 선언시 stack영역에 공간 할당
    초기화하면 heap영역에[0~n]칸 짜리 공간 할당
    배열 요소가 각 칸에 대입
    [0~n] (인덱스값) 사용

    # 기본값 : int=0, String=null, boolean=false
    # 같은 자료형끼리 연산 가능

    # 배열크기는 변경 불가


2. 배열 복사

  • 얕은 복사 (shallow)
    두 개의 다른 배열변수가 하나의 배열값을 공유함
    즉, 복사한 배열변수 값을 건드리면, 원래의 배열변수 값도 변화함

    int[ ] arr = {1,2,3,4,5};
    int[ ] copyArr = arr;

    # 왜 있는 기능인지 모르겠음..

  • 깊은 복사 : 같은 자료형의 새로운 배열을 만들어서 기존 데이터를 모두 복사

    for문으로 전체 복사
    System.arraycopy 이용
    System.arraycopy(원본배열, 복사시작인덱스, 복사할배열, 복사할배열 시작 인덱스, 복사할 길이arr.length)
    Arrays.copyOf 이용
    Arrays.copyOf(원본배열, 복사길이(arr.length)


3. 기타

  • 배열의 길이 계산 : 배열변수명.lengh
  • Arrays 클래스

    스캐너와 마찬가지로 JRE라이브러리에 저장
       #import java.util.Arrays

    Arrays.sort(배열변수명) -> 값의 크기에 따라 순서대로 정렬 (0번째가 최소값, length-1이 최대값)
    Arrays.toString(배열변수명) -> 모든 배열 값 출력


1개의 댓글

comment-user-thumbnail
2023년 7월 20일

많은 도움이 되었습니다, 감사합니다.

답글 달기