2014-02-07 6 views
0

이 목록의 각 요소가 List<String> 인 문자열 목록 인 resultList이 있습니다. 이제 데이터를 csv 시트에 넣으 려합니다. 그 때문에 나는 opencsv을 사용하고 있습니다.목록 목록 <String> 문자열 정렬 된 문자열 배열

List<String[]> data = new ArrayList<String[]>(); 
    for(int m = 0; m < resultList.get(0).size(); m++) { 
     for (int i = 0; i < resultList.size(); i++) { 

      data.add(new String[] {resultList.get(i).get(m).toString()}); 

     } 
    } 

    writer.writeAll(data); 

    //close Writer 
    writer.close(); 

내 데이터는 같아야합니다 :

내 구현에서 enter image description here

내가 복용하고, 모든 것을 알고 :

enter image description here 그러나

, 내 구현은 나에게 그 제공 sublist는 각 sublist에서 첫 번째 요소의 길이가 같고 배열에 추가됩니다. 왜 내가이 긴 줄을 얻고 있습니까?

답장을 보내 주셔서 감사합니다.

+0

@Dukeling 코드 구조를 권장 할 수 있습니까? – user2051347

답변

1

루프가 잘못되었습니다. 모든 내부 루프마다 새 String 배열을 구성 했으므로 모든 배열에는 요소 만 있습니다.

List<String[]> data = new ArrayList<String[]>(); 
for(List<String> strlist : resultList) { 

    String[] array = new String[strlist.size()]; 
    int offset = 0; 
    for(String s : strlist) { 
     array[offset ++] = s; 
    } 
    data.add(array); 
} 

============== 편집 울부 짖는 소리 ==================

: 다음 코드를 사용해보십시오

출력 요구 사항에 맞게 루프를 다시 정렬했습니다. 또한 샘플 입력은 알고리즘을 테스트하기 위해 제공됩니다.

List<List<String>> resultList = new ArrayList<List<String>>(); 
for (int i = 1; i <= 9; i++) { 

    List<String> innerList = new ArrayList<String>(); 
    resultList.add(innerList); 
    for (int j = 1; j <= 9; j++) { 
     innerList.add(j + ""); 
    } 
} 

List<String[]> data = new ArrayList<String[]>(); 

for(int m = 0; m < resultList.get(0).size(); m++) { 

    String[] array = new String[resultList.size()]; 
    for (int i = 0; i < resultList.size(); i++) { 
     array[i] = resultList.get(i).get(m).toString(); 
    } 
    data.add(array); 
} 
for(String[] array : data) { 
    System.out.println(Arrays.toString(array)); 
} 
+0

당신의 대답은 Thx입니다! 귀하의 코드를 사용했지만 출력이 없습니다 ... – user2051347

+1

@ user2051347 :'data.add (array);'를 잊어 버렸습니다. 죄송합니다. 코드를 수정했습니다. –

+0

답장을 보내 주신 Thx님께! 그러나 현재 내가 얻는 것은 resuls 칼럼을 현명하고 행별로 정렬하지 않는 것입니다. 그게 어떻게 고칠 수있는 모든 제안? 정말 회신 해 주셔서 감사합니다 !!! – user2051347

관련 문제