2013-02-25 7 views
6

문자열 배열을 문자 배열로 변환하고 arraylist로 사용할 때이 문제점 (GUI로 키 전송)이 발생했습니다. 기본적으로 :문자 배열을 문자 arraylist로 변환

String s = "ABC"; 
char[] cArray = s.toCharArray(); 
ArrayList<Character> cList = ?? 

나는 cList 양식 ['A', 'B', 'C']의 문자 ArrayList를 원한다. 나는 그것의 포장을 푼 다음 ArrayList를 만드는 방법을 모른다. Arrays.asList() returns a List<char[]> 내가 원하거나 필요로하는 것이 아닙니다.

루프를 추가하고 목록에 추가 할 수 있다는 것을 알고 있습니다. 더 간단한 것을 찾고 있습니다.

답변

3

본인이 알고있는 핵심 JDK에는 존재하지 않지만 기능은 여러 공통 라이브러리에 의해 제공됩니다. 예를 들어

는 아파치 코 몬즈 랭 ArrayUtils에 다음 서명하는 방법이 있습니다

public static List<Character> asList(char... backingArray) 
+1

@ Bhesh Gurung이 더 직접적인 방법을 찾고있는 유용한 답변을 가지고 있지만이를 내 대답으로 받아 들일 것입니다 (Google 구아바 설치). – arynaq

7

당신은 배열을 통해 루프가 있습니다

List<Character> cList = new ArrayList<Character>(); 
for(char c : cArray) { 
    cList.add(c); 
} 

참고 : 참조 유형하지 프리미티브 작동 Arrays.asList()을.

+0

저는 오토 복 프리미티브가 될 것이라고 확신합니다. 성능에 대해 매우 염려하지 않는 한, 사용하지 않을 이유가 없습니다. – Aurand

+1

오언 랜드, 정말로. Arrays.asList (new char [] a ','b ','c '})'는 실제로 하나의 요소 만 가진'List'를 반환합니다 :'a ','b '와'c ' 3 개의 아이템을 가진'List'는 아마도 기대하지 않았을 것입니다. – danidemi

2
:

Character [] toObject(char [] input) 

마찬가지로, 구글 구아바 라이브러리는 숯을 클래스에 더 직접적인 방법이있다

Character[] chArray = {'n','a','n','d','a','n','k','a','n','a','n'}; 

List<Character> arrList = Arrays.asList(chArray);