[JAVA] String 클래스, Arrays

Ming·2022년 9월 26일
1

자바

목록 보기
1/14

String 클래스


String 클래스

char[]와 메서드(기능)를 결합한 것이고, 내용을 변경할 수 없다.(read only)

String a="a";
String b="b";
a=a+b;

➡️ a+b는 "ab"이다. 이때 a가 가리키고 있는 값이 바뀌는게 아니라 ab라는 결과가 있는 주소를 a가 가리키게 된다.

String 클래스의 주요 메서드

  • char charAt(int index) : 문자열에서 해당 위치(index)에 있는 문자를 반환한다.
  • int length() : 문자열의 길이를 반환한다.
  • String substring(int from, int to) : 문자열에서 해당 범위(from~to)의 문자열을 반환한다.(to는 포함안됨)
  • boolean equals(Object obj) : 문자열의 내용이 같은지 확인한다. 같으면 true, 다르면 false가 반환된다.
  • char[] toCharArray() : 문자열을 문자배열(char[])로 반환해서 반환한다.

Arrays 클래스


Arrays 클래스로 배열 다루기

배열의 출력

1차원 배열의 경우 toString(), 다차원배열의 경우 deepToString() 이용

int[] arr={0, 1, 2, 3, 4};
int[][] arr2D={{11, 22}, {21, 22}};

System.out.println(Arrays.toString(arr)); //[0, 1, 2, 3, 4]
System.out.println(Arrays.deepToString(arr2D)); //[[11, 22], [21, 22]]

배열의 비교

1차원 배열의 경우 equals(), 다차원배열의 경우 deepEquals() 이용

String[][] str2D = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
String[][] str2D2 = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};

System.out.println(Arrays.equals(str2D, str2D2)); //false
System.out.println(Arrays.deepEquals(str2D, str2D2)); //true

배열의 복사

copyOf(배열이름, 복사할 원소 개수), copyOfRange(배열이름, 시작index, 끝 index) 이용
복사할 요소의 개수가 더 큰 경우 뒤에는 다 0으로 채워준다.

int[] arr={0, 1, 2, 3, 4};
int[] arr2=Arrays.copyOf(arr, arr.length);
int[] arr3=Arrays.copyOf(arr, 3); //arr3=[0, 1, 2]
int[] arr4=Arrays.copyOfRange(arr, 2, 4); //arr4=[2, 3]

배열의 정렬

sort() 이용. 오름차순으로 정렬이 된다.

int[] arr={3, 2, 0, 1, 4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); //[0, 1, 2, 3, 4]

[출처]
자바의 정석- https://www.youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp

0개의 댓글

관련 채용 정보