2016-08-12 1 views
0

Ich habe einen Arralist, der eine Gruppe von Objekten enthält, in denen jedes Objekt Felder hat (Abt. Name, Jahr, Anzahl). Ich weiß, dass wir Arraylist dynamisch mit for-SchleifeDynamische Erstellung von Arraylist basierend auf einem Kriterium und Hinzufügen von Daten

 List<List<ReportEPVO>> dataList = new ArrayList<List<ReportEPVO>>(); 

    for(int i = 1; i <= n; i++) { 
     List<ReportEPVO> tempList = new ArrayList<ReportEPVO>(); 
     dataList.add(tempList); 
    } 

Meine Forderung ist, dass beispielsweise erstellen: gibt es Objekte mit Jahresfeld 2013,2014,2015 sind. Ich möchte Arraylists dynamisch erstellen und Objekte mit demselben Jahr-Feld auf derselben Arraylist hinzufügen. irgendeine Hilfe?. Bitte nicht Downvote ich bin neu zu Datenstrukturen ..

Dies ist möglicherweise der Code zum Hinzufügen von Objekten mit Yearfield 2013 zu Arraylist namens Temp13.

List<ReportEPVO> temp13 = new ArrayList<ReportEPVO>(); 
    for(ReportEPVO re : reportEPvo) { 
     if(re.getJoinYear().equals("2013")) 
      temp13.add(re); 
    } 

Wie kann ich Arraylists dynamisch erstellen, um Objekte wie Jahrfelder mit 2013, 2014 usw. zu speichern?

+0

tun zeigen Sie bitte den Code, den Sie geschrieben haben, das zu erreichen. – Suyash

+0

Bitte kürzen Sie mit einem realen Beispiel nur .. Sie sind nicht zu spezifisch, um Ihre Ansicht zu löschen. Danke –

+0

Wenn Sie versuchen, Datensätze basierend auf dem Wert eines Felds zu gruppieren, sollten Sie sich eine Karte ansehen. – BevynQ

Antwort

0

Allgemeinen in dieser Situation werde ich so etwas wie

Map<String, List<MyObject> myListMap = new HashMap(); 

for(MyObject myObject : myObjects){ 
    List<Object> myObjectList = myListMap.get(myObject.getIndexAttribute()); 
    if(myObjectList == null){ 
     myObjectList = new ArrayList(); 
     myListMap.put(myObject.getIndexAttribute(), myObjectList); 
    } 
    myObjectList.add(myObject); 
} 
+0

bitte nicht vergessen Sie brauchen Map > myListMap = new HashMap(); im Code richtig? –

+0

ja ich habe den Schlüssel bearbeitet kann jeder Objekttyp sein – BevynQ

+0

okk aber wird dieser Code Objekte basierend auf ihren jeweiligen Jahren speichert? –

Verwandte Themen