본문 바로가기
Language/JAVA

JAVA에서 문자열을 ArrayList로 변환 및 ArrayList와 List의 차이점

by 박살낼겨 2022. 4. 11.

** 방법1 **

.toCharArray() : add(), get()

public static void main(String[] args) {
		String firstStr = "안녕하세요";
		String secondStr = "코박살입니다";
		new StringToArrayList().StringToArray(firstStr, secondStr);
	}
	public void StringToArray(String firstStr, String secondStr) {
    	// 형식 : 문자
		ArrayList<Character> strList = new ArrayList<Character>();

		// 문자열을 한글자씩 얻기
		for(char StringToChar : firstStr.toCharArray()) {
			strList.add(StringToChar);
		}
		for(char StringToChar : secondStr.toCharArray()) {
			strList.add(StringToChar);
		}
	   
	}

결과값

[안, 녕, 하, 세, 요, 코, 박, 살, 입, 니, 다]

 

위의 소스같이 List에 값을 넣을 때는 add(), 뺄때는 get()을 사용한다.

* "코"라는 글자 뺴고 싶을 때 : strList.get(5)

 

** 방법2 **

객체 생성해서 문자열 그대로 넣기

	public static void main(String[] args) {
		String firstStr = "안녕하세요";
		String secondStr = "코박살입니다";
		new StringToArrayList().StringToArray(firstStr, secondStr);
	}
	public void StringToArray(String firstStr, String secondStr) {
		
        	// 형식 : 문자열
		ArrayList<String> StringToArrayList = new ArrayList<String>();
		StringToArrayList.add(firstStr);
		StringToArrayList.add(secondStr);
		
	}

결과값

[안녕하세요, 코박살입니다]

 

** 주의 **

위의 소스와 형식이 다른 ArrayList

 

List에 값을 넣고 빼는 방법은 <방법1>과 동일하다.

 

** 방법3 **

.charAt()

	public static void main(String[] args) {
		String firstStr = "안녕하세요";
		String secondStr = "코박살입니다";
		new StringToArrayList().StringToArray(firstStr, secondStr);
	}
	public void StringToArray(String firstStr, String secondStr) {

		// 주어진 문자열 거꾸로 리스트에 담기
		ArrayList<Character> reverseStr = new ArrayList<Character>();
		for(int i = firstStr.length()-1; i >= 0 ; i--) {
			reverseStr.add(firstStr.charAt(i));
		}
		
	}

결과값

[요, 세, 하, 녕, 안]

 

charAt을 사용해서 거꾸로 List에 담은 것을 볼 수 있다.

charAt은 문자열을 index별로 리턴시켜 주는 메서드

 

 

** ArrayList와 List의 차이점 ** 

List는 크기가 한 번 정해지면 길이를 바꿀 수 없다.(정적)

ArrayList는 크기가 필요에 따라 커지거나 작아질 수 있다.(동적)

 

그럼 ArrayList가 더 좋은거 아닌가? 그렇지 않다.

 

사용자의 필요와 개발환경에 따라 사용하는 것이 좋은 것이다.