Data structure

자료구조 | 배열, String Class

이진유진 2024. 1. 31. 17:30
반응형
velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 
2023년 2월 14일 - https://velog.io/@yujin-17/TIL-12.-%EB%B0%B0%EC%97%B4

 

 

배열?

같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 합니다. 

 

배열의 선언과 생성 

  • 배열의 선언은 배열을 다루기 위한 참조변수의 선언과 같습니다. 
  • 선언방법? 
    • 타입[] 변수이름;
    • 타입 변수이름[]; 

  • 배열의 생성은 실제 저장공간을 생성하는 것입니다.
    • 타입[] 변수이름 = new 타입[길이]
    • 배열의 시작 주소(메모리 주소)가 변수이름에 저장되어있습니다. 
    • 참조변수와 배열은 연결되어있고, 참조변수를 이용해 배열을 다룰 수 있습니다. 
class Arrays 3_1 {
	public static void main(String[] args) {
    	
        int[] arr = {100, 90, 80, 70};
        
        // 배열을 가리키는 참조변수 arr 출력
        System.out.println("arr= " + arr);  // 출력값 :[I@7a81197d -> [(배열을 뜻함), I(int 타입을 뜻함), @(위치를 뜻함)
        
        // 예외 확인하기 - char[]
        char[] chArr = {'a', 'b', 'c', 'd'};
        System.out.println(chArr);  // 출력값 : abcd -> println 메서드의 기능에 의해 이렇게 출력. 
        
        // 배열의 요소 하나씩 출력법
        for(int i = 0; i < arr.length; i++) {
        	System.out.println("arr[" + i + "] = " + arr[i]);
        }
        
        // Arrays.toString(배열) : 배열의 모든 요소를 문자열로 만들어 반환 
        System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr));
    }
}

 


String Class

String Class란, char[]와 메서드(기능)을 결합한 것입니다. 

 

기본형처럼 사용이 가능한 참조형입니다. 

 

String str = "행복"; 

직접 초기화 방식. 문자열 리터럴. 자동으로 String Pool(메모리에 저장된 고유한 문자열 풀)에 생성. 


String str = new String("행복"); 

명시적으로 새 인스턴스 생성. 동등한 문자열이 String Pool 존재 여부와 관계없이 Heap 메모리에 새로운 String 객체 생성. 

 

문자열을 많이 사용하기 때문에 특별하게 만들어진 클래스입니다. 

String 클래스는 값의 변경이 불가능하며, 생성된 후에는 값을 변경할 수 없습니다. 

문자열을 수정하는 것 처럼 보이는 모든 작업은 사실 새로운 String 객체를 생성하는 것 입니다. 

 

String 배열의 선언과 생성

String[] name = new String[3];

3개의 문자열을 담을 수 있는 배열을 생성합니다. 

참조형이기에, 기본값을 null로 초기화합니다. 

 

2차원 배열 - 테이블 형태의 데이터를 저장하기 위한 배열입니다. 

int[][] score = new int[4][3];

score[0][0] = 88; 

 

문자열 비교와 출력

equals()

toString() 

 

배열 복사 

copyOf()

copyOfRange()

 

정렬

sort()

 

 

 

반응형