코딩 테스트때 까먹지 않기 위한 메서드 및 생각(2)

김동현·2022년 9월 26일
0

문자열을 더할 때 str += 문자열 말고 StringBuilder, StringBuffer를 사용하자.

StringBuilder와 StringBuffer에 메서드는 동일하다.

// String 클래스와 동일한 메서드 
charAt() - 특정 인덱스 위치의 문자 반환
indexOf() / lastIndexOf() - 문자열 검색해서 위치 반환
length() - 문자열 길이 반환
replace() - 검색된 문자열 교체
substring() - 특정 인덱스 범위 내 문자열을 복사해서 새로 생성된 인스턴스 반환
toString() - 문자열 출력
 StringBuilder sb = new StringBuilder();

        // 문자열 추가
        sb.append("abcdefg"); // 출력 : abcdefg

        // 시작 ~ 끝 - 1 까지 문자열 삭제
        sb.delete(2,4); // 출력 : abefg

        // 특정 위치에 문자 삭제
        sb.deleteCharAt(0); // 출력 : befg

        // 특정 위치에 문자열 삽입
        sb.insert(1, "c"); // 출력 : bcefg

        // 문자열 뒤집기
        sb.reverse(); // 출력 : gfecb

        // 특정 위치 문자 변경
        sb.setCharAt(0, 'a'); // 출력 : afecb

str.contains(), list.contains()

ArrayList<Integer> list = new ArrayList<>();
        for(int i=0; i < 5; i++){
            list.add(i);
        }
        if(list.contains(4)){
            System.out.println(true); //true
        }

        String str = "abcdefg";
        if(str.contains("c"))
            System.out.println(true); //true

char 배열을 다시 문자열로 new(문자열 배열), String.valueOf(문자열 배열)

 String str = "abcdefg";
        char[] c = str.toCharArray();
        System.out.println(Arrays.toString(c)); // [a, b, c, d, e, f, g]
        
 String str2 = new String(c);
        System.out.println("str2 = " + str2); // str2 = abcdefg
        
        
 String str3 = String.valueOf(c);
        System.out.println(str3);
        
        

set <-> list 변환

List<String> list = Arrays.asList("L", "L", "I", "S", "T");
        System.out.println("list = " + list); // list = [L, L, I, S, T]
		
        // list를 set으로
        Set<String> set = new HashSet<>(list);
        System.out.println("set = " + set); // set = [S, T, I, L]
        //순서는 보장하지 않는다.

        list = new ArrayList<>(set);
        System.out.println("list = " + list ); // list = [S, T, I, L]

문자열 변환 메서드인 replace()와 replaceAll()

		// 아래 예시에서는 두 메서드 모두 같인 "abc"를 반환한다.
        String str = "abc1";
        String replaceResult = str.replace("1", "");
        System.out.println("replaceResult = " + replaceResult);
        
        String replaceAllResult = str.replaceAll("1", "");
        System.out.println("replaceAllResult = " + replaceAllResult);
        
        
       // replace()와 replaceAll()의 차이점은 정규식을 사용할 수 있는지이다.
        String str2 = "abbaaaccccabcaaa";
        String replaceResult = str2.replace("abc", "?");
        String replaceAllResult = str2.replaceAll("[abc]", "?");

        System.out.println("replaceResult = " + replaceResult); // replaceResult = abbaaacccc?aaa
        System.out.println("replaceAllResult = " + replaceAllResult); // replaceAllResult = ????????????????
        
profile
오늘은 오늘

0개의 댓글