2016-04-05 6 views
0

Ich habe drei Liste des generischen Typs. Ich möchte sie zu einer Liste kombinieren und von einer Funktion zurückkehren, aber ich weiß nicht, wie ich sie in ein Objekt umwandeln soll. Hier ist mein Code .......kombinieren drei generische Arraylists in einem

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());   
}  
} 

Ich möchte alle drei ArraLists zurückgeben. Kann mir bitte jemand helfen, dieses Problem zu lösen.

+0

Sie 'W_Code',' S_Services' und 'S_Group' von einem gemeinsamen Elternteil erben oder eine gemeinsame Schnittstelle implementieren? –

Antwort

2

Return ein Datenobjekt:

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; 
} 
Verwandte Themen