Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- route 53
- JWT
- 알림생성
- 패스파라미터
- 3계층구조
- 알림생성모듈
- 레포지토리
- 스테이지어스
- 토큰
- 네비게이션 한번에
- JWT 쓰는 방법
- 메뉴바 한번에
- JWT 쓰는이유
- N+1
- 이미지가 포함된 게시글
- 게시글 이미지 업로드
- 메뉴바
- JSON Web Token
- getComputedStyle
- 쿼리스트링
- 부트캠프
- 포트번호
- .env
- secret코드
- 게시글 이미지
- 환경변수
- Winston
- N+1문제
- element.style
- unnest
Archives
- Today
- Total
기주
[코테] java 문자열(String / StringBuilder) 다루는 메서드 정리 본문
//String 타입
String str = "abcde";
str.length() // 5 문자열 길이
str.CharAt(0) // 'a' 0번째 글자 가져오기
str.subString(a,b) // a부터 b 까지 문자열 일부 가져오기
str.equals(a) // 문자열 비교, a와 같은지 비교하기
str.equalsIgnoreCase(a) // 문자열 비교, 대소문자 상관x, a와 같은지 비교하기
str.toUpperCase(a) // 문자열 대문자로 변환
str.toLowerCase(a) // 문자열 소문자로 변환
str.contains(a) // 문자열이 특정 문자열 포함하는지 확인
str.replace(a,b) // 문자열 a를 b로 교체하기
str.split(a) // 문자열 a를 기준으로 나눠서 배열로 반환하기
str.trim() // 문자열 좌우 공백 제거하기
str.indexOf(a) // 문자열에서 처음 나타나는 a의 인덱스를 찾아 반환, 없으면 -1반환
str.lastIndexOf(a) // 문자열에서 마지막에 나타나는 a의 인덱스를 찾아 반환, 없으면 -1반환
str.startWith(a) // 문자열이 a로 시작하는지 여부 반환
str.endWith(a) // 문자열이 a로 끝나는지 여부 반환
String의 스태틱 메서드
String클래스의 인스턴스를 생성하지 않고도 사용할 수 있는 메서드이다.
그렇기 때문에 < 객체. 메서드() >의 형태가 아닌 < 클래스.메서드() >의 형태로도 사용할 수 있다.
String.valueOf() // 문자로된 배열이나 다른 타입들을 문자열 타입으로 변환
StringBuilder
StringBuilder는 기존의 만들어진 객체를 활용하여 작업이 이루어지기때문에 String보다 연산이 빠르다.
String은 계속 새로운 객체를 생성해가며 작업하기때문에 공간낭비크고 연산이 느리다.
StringBuilder sb = new StringBuilder(); //
sb.append(str) // 문자열 str을 StringBuilder의 끝에 추가.
sb.insert(index, str) // 지정한 위치에 문자열을 삽입.
sb.delete(start, end) // 주어진 인덱스 범위의 문자열을 삭제.
sb.deleteCharAt(index) // 지정한 인덱스의 문자 하나를 삭제.
sb.reverse() // StringBuilder의 문자열을 뒤집기.
sb.toString() // StringBuilder의 내용을 String으로 변환.
sb.charAt(index) // 지정한 인덱스의 문자char를 반환.
예: char ch = sb.charAt(0);
sb.length() // StringBuilder의 길이를 반환.
예: int len = sb.length();
sb.setCharAt(index, ch) // 지정한 인덱스의 문자를 새 문자로 설정합니다.
예: sb.setCharAt(0, 'H');
sb.indexOf(String str) // 주어진 문자열이 처음으로 나타나는 인덱스를 반환. 없으면 -1 반환.
예: int index = sb.indexOf("World");
StringBuilder 예시
문제) 여러개의 문자들을 뒤집어서 출력하기
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
sc.nextLine();
String[] strArray = new String[num];
for(int i=0; i<num; i++){
strArray[i] = sc.next();
}
for(String x: strArray){
//StringBuilder의 생성자 매개변수로 StringBuilder바로생성, 처리 후 String형태로 바로 저장
String str = new StringBuilder(x).reverse().toString();
System.out.println(str);
}
문제) 주어진 문자열들을 뒤집어서 출력하기 (StringBuilder의 reverse()를 사용하지 않고)
Scanner sc = new Scanner(System.in);
int num = sc.nextInt(); // nextInt()는 줄바꿈이 적용안되기때문에 줄바꿈 소비 해줘야함.
sc.nextLine();
String[] strArray = new String[num];
for(int i=0; i<num; i++){
strArray[i] = sc.next(); // next()는 상황에따라 자동으로 공백, 줄바꿈 소비 알아서 해줌.
}
for(String x: strArray){
// 문자를 양쪽 맨끝부터 하나씩 교환
char[] chArr = x.toCharArray();
int lt = 0, rt = x.length()-1;
while(lt<=rt){
char tmp = chArr[lt];
chArr[lt] = chArr[rt];
chArr[rt] = tmp;
lt++;
rt--;
}
// String의 스태틱 메서드 valueOf사용해서 문자열 배열을 문자로 변환
String str = String.valueOf(chArr);
System.out.println(str);
}
'알고리즘 > 코테' 카테고리의 다른 글
[코테] java-중복된 문자 제거하기 (0) | 2024.10.28 |
---|---|
[TIL] 아스키코드로 대소문자 변환하기 (0) | 2024.10.25 |
[코테] 자료구조5 - HashMap, HashSet 사용하기 (0) | 2024.10.05 |
[코테] 자료구조 - 덱 메서드 정리 (1) | 2024.10.02 |
[코테] java 우선순위큐 (0) | 2024.09.20 |