요즘에 코딩 알고리즘 테스트를 준비중입니다.
관련해서 가장 많이 나오는 String 유형
을 대비하기 위해
메서드 종류들을 정리합니다.
String str = "abcde";
toString(); Object 최상위클래스의 메서드 항상 있음!
str.length() // str의 길이 반환
str.isEmpty() // str의 길이가 0이면 true, 아니면 false
trim(); space 없앰! 단, 양쪽 앞뒤 만 제거함!
=> 다 제거할려면 replace(), replaceAll()을 하면 된다!
toLowerCase(), toUpperCase() : 대/소문자 변경
str.toLowerCase() // 대문자를 모두 소문자로 변경
str.toUpperCase() // 소문자를 모두 대문자로 변경
indexOf("a")
indexOf(1); 1번째 문자열 추출
indexOf(Object o) 그 객체의 인덱스 추출 // "문자열".indexOf("찾을 문자")로 주로 사용
lastIndexOf("s")
"stra".indexOf("a") // => 3 있으면
"stra".indexOf("z") // => -1 없으면
String str = "start";
str.lastIndexOf("t"); // => 4 가장마지막 t의 index반환
substring(int beginIndex)
substring(int beginIndex, int endIndex)
//예제
String str = "ABCDEFG"; //대상 문자열
/*A=0 B=1 C=2 D=3 E=4 F=5 G=6의 index를 가진다.*/
str.substring(3);
/*substring(시작위치) 결과값 = DEFG*/
str.substring(3, 6);
/*substring(시작위치,끝위치) 결과값 = DEF*/
split() && join() : 주로 둘이 많이 같이 사용!
split("-");
// 자바 8버전 join
String requestDate = "2021-08-01";
String[] requestDateArr = requestDate.split("-");
// ["2021", "08", "01"]
join("", a); : a를 ""
기준으로 합쳐준다. split과 반대개념
// String[] requestDateArr = {"2021", "08", "01"};
List<String> requestDateArr = Arrays.asList("2021", "08", "01"); // 배열 표현은 Collection으로 사용하자
String joins = String.join("|", requestDateArr); // 사실 이게 더 불편한데 알아두면 좋을 것!
System.out.println("joins: "+ joins);
// joins: 2021|08|01
replace(a, b); : "a"를 "b"로 치환
requestDate = requestDate.replace("-", "");
System.out.println("requestDate: "+ requestDate);
replaceAll("regex"
, "b"); : 기본 replace() 기능 + regex 내용들 "b"로 치환 가능
// 대알파벳 -> "" 공백으로 처리
str = str.toUpperCase().replaceAll("[^A-Z]", "");
charAt(index);
char a = '닳';
String letter = "동해 물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세";
int loc = letter.indexOf(a); // 15
char b = letter.charAt(loc); // 닳
contains(a); : "a"가 포함되는지 체크
List<String> members = Arrays.asList("pobi", "jason");
boolean result = members.contains("pobi"); // true
compareTo() : 알파벳 순서 비교하는 함수
"a".compareTo("b") => (-)
"a".compareTo("b") => 0
"b".compareTo("a") => (+)
split(" ") : 문자열 자르기
str.split(" ") // 띄어쓰기로 구분된 문자열 str을 분리해서 String[] 배열 반환
str.split() // 띄어쓰기 없는 문자열 str을 한 문자씩 분리해서 String[] 배열 반환
Math 클래스 수학메서드
// double이 반환됨. 캐스팅하는 것 주의!
Math.round(값) : 소수점 반올림
Math.ceil(값) : 소수점 자리의 숫자를 무조건 올리는 함수
Math.floor(값) : 소수점 무조건 내림
Math.random() // 랜던난수 생성
// 예시, 1~12 난수 생성
int month = (int)(Math.random()*12)+1;