2014-09-30 2 views
-1

나는 모두 ArrayList를 구성하며, 모두 Array 요소가 포함되어 있으며 모두 String 요소를 포함합니다.ArrayList <ArrayList <String>> "back"을 ArrayList로 변환 <String>

즉,

ArrayList<ArrayList<String>> myListCollection = new ArrayList<ArrayList<String>>(); 

지금 만 문자열 요소를 포함하는 ArrayList의에 myListCollection로 변환하는 방법은 무엇입니까?

감사합니다. 나는 여러 가지 방법을 쓴

EDIT 그 목록에 문자열을 추가합니다. 각각의 목록은 다음 유형의하는 "superlist"에 추가됩니다

ArrayList<ArrayList<String>> 

이 지금 같이 보는 것은 다시 변경하는 것이 가능할 것이다 경우 궁금 해서요 단일 문자열 요소를 포함 목록의 모음입니다 내 "수퍼리스트"를 모든 String 요소가 들어있는 목록에 추가합니다. 반면에 String 요소가있는 다른 목록 요소를 포함하는 목록은 없습니다.

예를 들어, "수퍼 목록"에서 요소를 검색하면 전체 목록을 얻을 수 있지만 단일 요소에 액세스 할 수 있습니다.

은 내가 다음 코드를 사용하여, 하위 목록 내에서 요소를 검색 할 중첩에 대한 루프를 사용할 수 있다고 생각 :

for(int i = 0; i < superlist.size(); i++) { 
     for(int j = 0; j < superlist.get(i).size(); j++) { 
      System.out.println(superlist.get(i).get(j)); 
     } 
    } 

이 적절한/정확/괜찮은 코드인가?

+0

예. 발생한 모든 문제와 함께 현재까지 시도한 모든 코드를 보여주십시오. 해결책은 여기에 주어지지 않을 것입니다. – rgettman

+0

그냥 평평하게하는 것을 의미합니까? –

답변

4

예, 당신이 할 수있는, 그런 일 :

ArrayList<String> stringCollection = new ArrayList<String>(); 
for (int i = 0; i < myListCollection.size(); ++i) { 
stringCollection.addAll(myListCollection.get(i)); 
} 

이 : 그것은 당신을 위해 작동 바랍니다.

+0

그것은 정말로 나를 도왔다! 고마워요 :) – northerner

+1

일반적으로'List coll = new ArrayList ()'또는 더 나은'Collection coll'이라는 한정자를 사용하고 싶습니다. 예를 들어 뚜렷한 문자열 만 원할 경우 구현을 쉽게 변경할 수 있습니다 (콜백 = 새 HashSet ()을 설정하면 완료됩니다) – AlexR

관련 문제