2016-04-05 7 views
0

3つの汎用タイプのリストを持っています。それらを1つのリストにまとめて関数から返りたいが、それを1つのオブジェクトに変換する方法がわからない。ここに私のコードです.......は、3つの一般的なarraylistsを1つに結合します。

public class WrapUpCodes 
{ 

public Map<Long, W_Code> codes= new HashMap<>(); 
public Map<Long, S_Services> services= new HashMap<>(); 
public Map<Long, S_Group> skills= new HashMap<>(); 

public WrapUpCodes(){} 

public WrapUpCodes(String dnis, String skillgroup) 
{ 
    populateResultString(dnis, skillgroup); 
} 

public void populateResultString(String dnis, String skillgroup) 
{ 
    DBCPSource conn= new DBCPSource(); 
    String[] Res = null; 
    try 
    { 
     Res = conn.GetwrapUpCodes(dnis, skillgroup); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    }  
    String code[] =Res[0].split(","); 
    long keyValue = 1; 

    for(int k=0; k<code.length; k++) 
    { 
     codes.put(keyValue, new W_Code (code[k])); 
     keyValue = keyValue+1; 
    } 

    String ser [] = Res[1].split(","); 
    keyValue=1; 

    for(int j=0; j<ser.length; j++) 
    { 
     services.put(keyValue, new S_Services(ser[j])); 
     keyValue= keyValue+1; 
    } 

    String SG [] = Res[2].split(","); 
    keyValue=1; 

    for(int j=0; j<SG.length; j++) 
    { 
     skills.put(keyValue, new S_Group(SG[j])); 
     keyValue= keyValue+1; 
    } 

} 

public List<List<String>> getAllCodes() 
{ 
    ArrayList<S_Group> SG= new ArrayList<S_Group>(skills.values()); 
    ArrayList<W_Code> WC= new ArrayList<W_Code> (codes.values()); 
    ArrayList<S_Services> SER= new ArrayList<S_Services> (services.values());  
}  
} 

I am getting problem in this function. 

public List<List<String>> getAllCodes() 
{ 
    ArrayList<S_Group> SG= new ArrayList<S_Group>(skills.values()); 
    ArrayList<W_Code> WC= new ArrayList<W_Code> (codes.values()); 
    ArrayList<S_Services> SER= new ArrayList<S_Services> (services.values());   
}  
} 

私は3つのArraListsすべてを返したいと思います。誰でもこの問題を解決するために私を助けてもらえますか?

+0

'W_Code'、' S_Services'、と '共通の親から継承するか、共通のインタフェースを実装S_Group'ていますか? –

答えて

2

戻りデータオブジェクト:

public static class CodeData { 
    public final ArrayList<S_Group> groups = new ArrayList<>(); 
    public final ArrayList<W_Code> codes = new ArrayList<>(); 
    public final ArrayList<S_Services> services = new ArrayList<>(); 
} 

public CodeData getAllCodes() 
{ 
    CodeData data = new CodeData(); 
    data.groups.addAll(skills.values()); 
    data.codes.addAll(codes.values()); 
    data.services.addAll(services.values()); 
    return data; 
} 
関連する問題