JAVA 헷갈리는 메서드 정리

devdo·2022년 4월 4일
0

Java

목록 보기
42/59
post-thumbnail

요즘에 코딩 알고리즘 테스트를 준비중입니다.
관련해서 가장 많이 나오는 String 유형을 대비하기 위해
메서드 종류들을 정리합니다.


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)

  • 인자로 beginIndex만 전달하면, 이 index가 포함된 문자부터 마지막까지 잘라서 리턴합니다.
  • 인자로 beginIndex, endIndex를 모두 전달하면 begin을 포함한 문자부터 endIndex 이전 index의 문자까지 잘라서 리턴
//예제
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;


참고

profile
배운 것을 기록합니다.

0개의 댓글