List<Type> Konvertieren in List<List<Type>>

PollerJava

Top Contributor
Hallo,

ich habe ein - glaube ich - eher spezielles Problem. Ich habe eine Liste, die so wie unten ausschaut:

Code:
final List<MyType> myList = new ArrayList<>();

Code:
Type: 
public class MyType {
   
   ...
   private DateTime startTime;
   private DateTime endTime;
   private DateTime dateOfContainer; // with @JSONSerializer - deshalb wird unten nur das Datum ausgegeben

}

Meine Frage wär jetzt, wie ich die MyType - Objecte zusammenbring, sodass ich dann:

List<List<MyType>>

habe: Unten würde z.B. die ersten zwei zusammengehören, da beide dateOfContainer mit "27.11.2015" haben.

Wäre Euch dankbar für Hinweise in diese Richtung.
Danke!
Poller

Code:
[
{
...
"endTime": "16:00",
"startTime": "13:00",
"dateOfContainer": "27.11.2015"
},
{
...
"endTime": "12:00",
"startTime": "08:00",
"dateOfContainer": "27.11.2015"
},
{
...
"endTime": "16:00",
"startTime": "13:00",
"dateOfContainer": "25.11.2015"
},
{
...
"endTime": "19:00",
"startTime": "18:00",
"dateOfContainer": "21.11.2015"
},
...
 

Tobse

Top Contributor
Ich verstehe nicht so recht, was du tun willst. Willst du deine MyTypes nach dateOfContainer gruppieren?
Und müssen es Lists sein oder reicht dir Collection auch?
 

stg

Top Contributor
Ich würde vermutlich erstmal sortieren, und dann über die sortierte Liste iterieren. Zu beginn zwei leere Listen anlegen (eine, welche MyType aufnimmt, und eine weitere, welche deine Listen aufnimmt) und solange sich das dateOf-Date nicht ändert, alls da rein packen. Ändert sich das dateOf-Date, dann packst du die nun fertige erste Liste in die "Listen-Liste". Anschließend neue "Teil-Liste" anlegen und wieder so lange die gefunden Elemente dort einfügen, bis sich das dateOf-Date wieder ändert.
Solange das Spielchen wiederholen, bis du die gesamte ursprüngliche Liste abgearbeitet hast.
 

Flown

Administrator
Mitarbeiter
Java 8 Streaming API:
Java:
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Test {
   public static void main(String... args) {
     List<MyType> myTypes = Arrays
         .asList(new MyType(LocalTime.of(13, 00), LocalTime.of(16, 00), LocalDate.of(2015, 11, 27)),
             new MyType(LocalTime.of(8, 00), LocalTime.of(12, 00), LocalDate.of(2015, 11, 27)),
             new MyType(LocalTime.of(13, 00), LocalTime.of(16, 00), LocalDate.of(2015, 11, 25)),
             new MyType(LocalTime.of(18, 00), LocalTime.of(19, 00), LocalDate.of(2015, 11, 21)));
     List<List<MyType>> collect = myTypes.stream().collect(Collectors
         .collectingAndThen(Collectors.groupingBy(MyType::getDateOfContainer), m -> new ArrayList<>(m.values())));
     System.out.println(collect);
     
   }
}

class MyType {
   
   private final LocalTime startTime;
   private final LocalTime endTime;
   private final LocalDate dateOfContainer;
   
   public MyType(LocalTime startTime, LocalTime endTime, LocalDate dateOfContainer) {
     this.startTime = startTime;
     this.endTime = endTime;
     this.dateOfContainer = dateOfContainer;
   }
   
   public LocalTime getStartTime() {
     return startTime;
   }
   
   public LocalTime getEndTime() {
     return endTime;
   }
   
   public LocalDate getDateOfContainer() {
     return dateOfContainer;
   }
   
   @Override
   public String toString() {
     return "MyType [startTime=" + startTime + ", endTime=" + endTime + ", dateOfContainer=" + dateOfContainer + "]";
   }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards doc to pdf Konvertieren... Allgemeine Java-Themen 43
M Java 8 nach Java 6 konvertieren Allgemeine Java-Themen 7
J Java zu C# konvertieren? Allgemeine Java-Themen 4
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
RalleYTN float in WORD konvertieren Allgemeine Java-Themen 1
RalleYTN JOGL Texture in BufferedImage konvertieren Allgemeine Java-Themen 1
C String zu Int konvertieren Allgemeine Java-Themen 9
RalleYTN Audiodatein(.ogg/.wav) in Text konvertieren Allgemeine Java-Themen 0
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
B .txt Datei in einen kompletten String konvertieren Allgemeine Java-Themen 20
C String in double[][] konvertieren! Allgemeine Java-Themen 5
R MS Word in PDF konvertieren Allgemeine Java-Themen 1
M ArrayList<Foo> in ein Foo[] konvertieren? Allgemeine Java-Themen 8
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
D Programm in JApplet konvertieren... Allgemeine Java-Themen 4
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
J String mit "," in Double Wert konvertieren Allgemeine Java-Themen 7
H Input/Output Binäre Daten konvertieren, Output hat Zeilenumbrüche?? Allgemeine Java-Themen 9
S byte [] in string und zurück konvertieren Allgemeine Java-Themen 2
S Millisekunden in Zeitcode konvertieren. Unerwarteter Effekt..? Allgemeine Java-Themen 8
T JPG zu PNG konvertieren Allgemeine Java-Themen 3
P Tonspur aus Video extrahieren und konvertieren Allgemeine Java-Themen 2
R byte[] to String Konvertieren Allgemeine Java-Themen 14
A Input/Output Buffered Image zu Byte Array und zurück konvertieren Allgemeine Java-Themen 4
S Zahl konvertieren [Internationalisierung l10n, l18n] Allgemeine Java-Themen 4
L hunderstel Sekunden in mm:ss:hshs konvertieren Allgemeine Java-Themen 4
T Interger in String konvertieren Erklärung benötigt Allgemeine Java-Themen 11
R Moeglichst viele Datumsstrings in Date Objekte konvertieren? Allgemeine Java-Themen 3
P PNG 32 Bit zu 16Bit konvertieren... Allgemeine Java-Themen 4
Daniel_L RegEx: UBB in HTML konvertieren, Problem Verschachtelung Allgemeine Java-Themen 3
A Performance: byte[] in byte[][][] konvertieren Allgemeine Java-Themen 2
2 MP3 in Wav konvertieren. Allgemeine Java-Themen 5
K Zeichensatz in UTF8 konvertieren Allgemeine Java-Themen 7
T Konvertieren zu gültigen Dateinamen Allgemeine Java-Themen 10
S List<Double> oder Double[] in double[] zu konvertieren Allgemeine Java-Themen 6
B numerisch in alpanumerisch konvertieren Allgemeine Java-Themen 3
Z Uralt-Applet in JFrame Anwendung konvertieren Allgemeine Java-Themen 12
S Integer zu int konvertieren - JUnit Allgemeine Java-Themen 12
F Unicode zu ASCII konvertieren Allgemeine Java-Themen 5
P Sämtliche Zeichensätze nach UTF-8 konvertieren Allgemeine Java-Themen 6
B String in Hex konvertieren: Problem Allgemeine Java-Themen 9
F Code konvertieren Allgemeine Java-Themen 4
G Array/String aus Request wieder in Array konvertieren Allgemeine Java-Themen 2
M Wave file ins Ogg Format konvertieren! Allgemeine Java-Themen 3
A DOC in TIFF konvertieren Allgemeine Java-Themen 2
P word zu pdf konvertieren Allgemeine Java-Themen 5
G Konvertieren: Wikipedia-Formatierung -> HTML Allgemeine Java-Themen 5
cowabunga1984 Library um TIF in PDF zu konvertieren Allgemeine Java-Themen 2
S int nach Ascii konvertieren Allgemeine Java-Themen 2
F Wav to mp3 konvertieren Allgemeine Java-Themen 3
G Datum konvertieren Allgemeine Java-Themen 14
R Fehler in WindowsXP oder Java? - double in int konvertieren Allgemeine Java-Themen 10
G Benutzereingaben konvertieren(Exponentialfunktion) Allgemeine Java-Themen 9
K Object nach Vector konvertieren Allgemeine Java-Themen 3
T Musikdateien in ein anderes Musikdateienformat konvertieren Allgemeine Java-Themen 5
T ArrayList in String[] konvertieren. Allgemeine Java-Themen 3
M Value als String in beliebige Klasse konvertieren Allgemeine Java-Themen 18
G Bild von RGB in Grayscale konvertieren Allgemeine Java-Themen 2
T Datum konvertieren Allgemeine Java-Themen 3
R HTML Seiten in formatierte Textseiten konvertieren Allgemeine Java-Themen 3
R StringWriter konvertieren in einen String !!! Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben