작성일 댓글 남기기

[java] 데이터 정제를 위한 관련 메서드4가지

java 데이터 정제를 위한 관련 메서드를 정리해 보고자 합니다.

String 관련 메서드

String  str = "abcde"

str.length(); // str의 길이 반환
str.isEmpty(); // str의 길이가 0이면 true, 아니면 false

str.charAt(2) // 인덱스로 문자 찾기, c 반환
srt.indexOf("c") // 문자로 첫번째 인덱스 찾기, 2 반환
str.lastIndexOf("c") // 문자의 마지막 인덱스 찾기, 2 반환

str.replace('b', 'k') // b를 k로 변경 (akcde)

str.equals("abcde") // str과 abcde를 비교해서 같으면 true, 다르면 false
str.contains("bc") // str에 bc가 포함되어 있으면 true, 아니면 false

str.split(" ") // 띄어쓰기로 구분된 문자열 str을 분리해서 String[] 배열 반환
str.split() // 띄어쓰기 없는 문자열 str을 한 문자씩 분리해서 String[] 배열 반환

str.trim() // str의 앞뒤 공백 제거, 문자열 사이 공백은 제거 X

str.toLowerCase() // 대문자를 모두 소문자로 변경
str.toUpperCase() // 소문자를 모두 대문자로 변경

str.compareTo("abcdd") // 더 봐야할 메서드!!!
/*
str과 abcdd가 같으면 0
str이 abcdd보다 사전순으로 앞이면 -1
str이 abcdd보다 사전순으로 뒤면 1
str과 abcdd가 마지막 문자만 다르면 마지막 문자의 사전순 차이 반환( str 1)
*/

 

StringBuilder 관련 메서드

String은 한 번 만들어지면 문자를 추가하거나 삭제할 수 없는 변경 불가한 타입

StringBuilder는 변경 가능한 타입이므로 문자열을 변경해야 할 시 StringBuilder사용

StringBuilder sb = new StringBuilder();

sb.append("abc") // 문자열 추가
sb.insert(2, "kk") // 2 위치에 kk 삽입(abkkc)

sb.delete(0,2) // 0~1위치의 문자열 삭제(c)
sb.deleteCharAr(2) // 2 위치의 문자 삭제(ac)

sb.setCharAt(0, 'h') // 0 위치의 문자를 h로 변경(hbc)

sb.reverse() //문자열 거꾸로 뒤집기(cba)

sb.setLength(2) // 문자열 길이를 2로 줄임(ab)
sb.setLength(4) // 문자열 길이를 4로 늘림(뒤가 공백으로 채워짐)

List관련 메서드

List<String> list = new ArrayList<>();

list.add("서울") // list의 가장 뒤에 서울 삽입
list.add(1, "대전") // 1 위치에 대전 삽입
list.addAll(list2) // list의 뒤에 list2의 모든 값 삽입

list.get(0) // 0 위치의 값 반환(서울)
list.set(0, "대구") // 0 위치의 값을 대구로 변경

list.indexOf("대구") // 대구의 첫번째 인덱스 반환
list.lastIndexOf("대구") // 대구의 마지막 인덱스 반환

list.remove(0) // 0 위치의 값 삭제
list.remove("대구") // 첫번째 대구 삭제
list.removeAll(list2) // list에서 list2에 들어있는 모든 값을 삭제
list.retainAll(list2) // list에서 list2에 들어있는 값을 제외한 모든 값을 삭제

list.clear() // 전체 값 삭제
list.isEmpty() // 길이가 0이면 true, 아니면 false
list.size() // 길이

list.contains("서울") // 서울이 list에 있으면 true, 없으면 false
list.containsAll(list2) // list에 list2의 모든 값이 포함되어 있으면 true

list.removeIf(k -> k % 2 != 0) // 람다식으로 홀수를 list에서 모두 제거

Collections 관련 메서드

Collections.max(list) // list의 원소 중 가장 큰 값 반환
Collections.min(list) // list의 원소 중 가장 작은 값 반환

Collections.sort(list) // list 오름차순 정렬
Collections.sort(list, Collections.reverseOrder()) // list 내림차순 정렬

Collections.reverse(list) // list 역순 정렬 { 512132, 44, 23, 1412, 1123 }

Collections.frequency(list, 23) // list 내의 23의 갯수 반환

Collections.binarySearch(list, 44)
// 최초로 검색된 44의 인덱스 1 반환
// 없으면 44보다 큰 최초의 위치 2를 찾아서 -1을 곱하고 1을 빼서 반환 (-3)

 

답글 남기기