2014-05-21 4 views
-1

오브젝트 2 차원 배열을 가지고 있는데, Result [] [] 여기서 2 개의 컬럼과 여러 개의 행 (데이터베이스에 따라 다름)이 있다고 가정 해 봅시다. 이제 각 열에 대해 1 행의 배열로 결과를 말할 수 있습니다.오브젝트 2D 배열의 오브젝트 배열

Example:  column column column 
       1  hello 1,2,3,4 
       2  hi  4,3,2,1 
       3  bye  5,2,1,3,6 

그래서 2 차원 Array 객체에서 열 역할을하는 객체가 필요합니다. 문제를 해결할 방법이 없습니다.

내 코드는 다음과 같습니다

public Object[][] getGroupDetails(String org_id, Object[][] result) { 
    Object[][] result2 = null; 
    Object[][] list = null; 
    System.out.println(result.length); 
    Integer len = result.length; 
    //String groups_id=""; 
    try { 
     Integer i = 0; 
     while (i < len) { 

      String getBelongingGroupsList = "SELECT DISTINCT groups.GROUPS_NAME, groups.GROUPS_ID FROM groups LEFT JOIN member " 
        + "ON member.GROUPS_ID=groups.GROUPS_ID WHERE groups.org_id=" + org_id + " AND member.member_number =" + result[i][1]; 
      System.out.println("getBelongingGroupsList " + getBelongingGroupsList); 
      ResultSet rscheck = (ResultSet) DataService.getResultSet(getBelongingGroupsList); 
      list = (Object[][]) DataService.getDataFromResultSet(rscheck); 
      System.out.println("list made"); 
      System.out.println(list.length);//not executing bhai kya hua teko 
      for (int j = 0; j < list.length; j++) { 
       System.out.println("copying list to object "); 
       result[i][j] = list[j][0]; 
      } 
      //System.out.println(result2[i].length); 
      //groups_id = rscheck.getString("groups_id"); 
      i++; 

     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return result; 
} 
+0

당신이 솔루션을 파악 했습니까? 또는 아직 계류 중입니까? –

+0

3D 배열을 사용해 보았지만 도움이되지 않았습니다 – Teena

답변

1

다음을 시도 할 수 있습니다. 결과 인덱스도 저장합니다. 이것이 도움이되는지 알려주십시오.

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

    col = new String[3];   
    col[0] = "1"; 
    col[1] = "hello"; 
    col[2] = "1,2,3,4"; 
    list.add(col); 

    col = new String[3]; 
    col[0] = "2"; 
    col[1] = "hi"; 
    col[2] = "4,3,2,1"; 
    list.add(col); 


    for(String[] objs : list){ 
     for(String str : objs){ 
      System.out.print(str + "\t"); 
     } 
     System.out.println(); 
    } 

그리고 출력은 다음과 같습니다

1 hello 1,2,3,4 
2 hi  4,3,2,1 
+0

최상의 답변을 주셔서 감사합니다 ... 글쎄요. 내 목적을 해결하기 위해 뭔가를했지만, 분명히 제안 된 것처럼 더 단순하게 변경합니다 !! – Teena