반응형
본격적으로 코딩테스트를 준비하며 제가 자주 사용하는 코드들을 정리해보았습니다.
모든 테스트는 아래의 main 함수 내에서 진행했습니다. 마지막 줄에는 결과물의 타입을 출력해보았습니다.
import java.util.*;
import java.io.*;
public class TestCode
{
public static void main(String[] args) {
}
}
상단에 추가적으로 자주 사용하는 패키지가 있다면 import 해줍니다. 저는 보통 아래의 두 패키지만 사용합니다.
import java.util.*;
import java.io.*;
String to int
Code
String str = "2467";
int num = Integer.parseInt(str);
System.out.println(num);
Result
2467
java.lang.Integer
만약 String에 숫자가 아닌 문자가 포함되어있다면 아래와 같은 오류가 발생합니다.
Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"
int to String
- 첫번째 방법
Code
int num = 39584;
String str = String.valueOf(num);
System.out.println(str);
Result
39584
java.lang.String
- 두번째 방법
Code
int num = 39584;
String str = Integer.toString(num);
System.out.println(str);
Result
39584
java.lang.String
저는 두번째 방법을 주로 사용하는 편입니다.
String to char Array
Code
String str = "abcdefg";
char[] arr = str.toCharArray();
System.out.println(arr[0]);
System.out.println(arr[2]);
Result
a
c
[C
char Array to String
Code
char[] arr = "abcdefg".toCharArray();
String str = String.valueOf(arr);
System.out.println(str);
Result
abcdefg
java.lang.String
String to char ArrayList
Code
String str = "abcdefg";
ArrayList<Character> arrList = new ArrayList();
for(char a: str.toCharArray()) {
arrList.add(a);
}
System.out.println(arrList.get(0));
System.out.println(arrList.get(2));
Result
a
c
java.util.ArrayList
조금 더 짧지만 어려운 방법들도 있습니다. 저는 되도록이면 더 쉬운 방법을 사용했습니다.
Integer ArrayList to int Array
Code
ArrayList<Integer> arrList = new ArrayList(Arrays.asList(1, 2, 3, 4, 5));
int[] arr = arrList.stream().mapToInt(Integer::intValue).toArray();
System.out.println(arr[0]);
System.out.println(arr[2]);
Result
1
3
[I
int Array to Integer Array
Code
int[] intArr = {1, 2, 3, 4, 5};
Integer[] integerArr = Arrays.stream(intArr).boxed().toArray(Integer[]::new);
System.out.println(integerArr[0]);
System.out.println(integerArr[2]);
Result
1
3
[Ljava.lang.Integer;
Integer Array to int Array
Code
Integer[] integerArr = {1, 2, 3, 4, 5};
int[] intArr = Arrays.stream(integerArr).mapToInt(Integer::intValue).toArray();
System.out.println(intArr[0]);
System.out.println(intArr[2]);
Result
1
3
[I
String 관련
자르기
split()
Code
String str = "abcdef";
String[] strArr = str.split("");
System.out.println(strArr[0]);
System.out.println(strArr[2]);
Result
a
c
[Ljava.lang.String;
split() 안에 들어 있는 String값을 기준으로 잘라 String Array를 만듭니다. 빈 String 값을 넣으면 모든 단어가 분리됩니다.
substring
Code
Result
특정 단어 변경
반응형