배열

박민수·2023년 1월 15일
0

자바의 정석

목록 보기
4/17

1. 배열이란?

배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것

2. 배열의 복사

배열은 한번 생성하면 길이를 변경할 수 없기 때문에 큰 배열을 생성하고 이전 배열의 내용을 복사해야한다.

배열을 복사하는 방법
(1) for문을 이용해서 배열을 복사

int[] arr = new int[5];
int[] tmp = new int[arr.length*2];
for(int i = 0; i < arr.length; i++){
	tmp[i] = arr[i];
    }
arr = tmp; // 참조변수 arr이 새로운 배열을 가르키게 한다.    

(2) System.arraycopy()를 이용한 배열의 복사

System.arraycopy(배열1, 배열1 인덱스, 배열2, 배열2 인덱스, 복사할 데이터 개수)

배열1[인덱스]부터 데이터 개수만큼 복사해서 배열2[인덱스]부터 붙여넣는다.

3. String 배열

String클래스는 char배열에 기능(메서드)를 추가한 것이다.

String클래스의 주요 메서드

charAt(index) 
문자열에서 ()해당하는 문자 반환

length() 
문자열 길이 반환

substring(from to) 
from부터 to에 있는 문자열 반환(범위 끝 포함x)

equals() 
문자열 내용이 동일한지 비교, 값비교

equalsIgnoreCase() 
대소문자 구분없이 비교

toCharArray() 
문자배열로 변환(char배열로 전환)

compareTo(str) 
문자열과 사전순서로 비교 , 같으면 0, 이전이면 음수, 이후면 양수
int I = “aaa”.compareTo(“aaa”) = 0
int I = “aaa”.compareTo(“bbb”) = -1
int I = “bbb”.compareTo(“aaa”) = 1

concat(str)
문자열을 뒤 덧붙인다

boolean contains()
저장된 문자열이 포함됐는지 검사
s = “abcd”
t = s.contains(“bc”) = true

boolean endsWith()
지정된 문자열로 끝나는지 검사

boolean startsWith()
지정된 문자열로 시작하는지 검사

indexof(ch)
주어진 문자가 문자열에 존재하는지 확인하여 위치를 알려준다.
없으면 -1

indexof(ch, pos)
주어진 문자가 문자열에 존재하는지 지정된 위치부터 확인하여 위치를 알려준다.
없으면 -1

indexof(str)
주어진 문자열이 존재하는지 확인하여 위치를 알려준다
없으면 -1

lastIndexof(ch)
지정된 문자를 문자열의 오른쪽 끝에서부터 찾아서 위치를 알려준다.
없으면 -1

lastIndexof(str)
지정된 문자열을 문자열의 오른쪽 끝에서부터 찾아서 위치를 알려준다.
없으면 -1

replace(old, new)
문자열 중 문자를 새로운 문자로 바꿔 반환, 문자열도 가능

replaceAll(old, new)
지정된 문자열 중 일치하는 모든 문자를 새로운 문자로 바꿔 반환

replaceFirst(old, new)
지정된 문자열 중 일치하는 첫 번째 문자를 새로운 문자로 바꿔 반환

string[] split(regex)
문자열을 지정된 분리자로 나누어 문자열 배열에 반환

string[] split(regex, limit)
문자열을 지정된 분리자로 나누어 문자열 배열에 반환, 단 문자열 전체를 지정(하나씩 저장되다가 남은 것은 마지막 배열에 몰빵되어 저장됨)

join(regex)
지정된 문자로 결합, split()반대 (단 java8버전에서만 사용가능)

toLowerCase(), toUpperCase()
모든 문자열 소문자, 대문자로 반환

trim()
문자열 왼쪽 끝과 오른쪽 끝에 있는 공백제거(중간은 x)

static string valueOf(boolean b)
static string valueOf(char c)
static string valueOf(int i)
static string valueOf(long l)
static string valueOf(float f)
static string valueOf(double d)
static string valueOf(object o)
string.valueOf()
지정된 값을 문자열로 변환하여 반환

(Byte,Short,Integer,Long,Float,Double).valueOf()은 지정된 래퍼클래스로 변환
profile
쉽게 쉽게

0개의 댓글