Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Sofern die Listen in sich sortiert sind, könntest du mit MergeSort arbeiten. Ich würde immer zwei Listen zu einer zusammenführen, bis am Ende nur noch eine einzige steht.
Darf ich fragen, warum du alle Objekte zusammenwerfen möchtest?
Also wenn du List<Object> hast, dann weist das auf einen schwerwiegenden Fehler in deinem Desing auf. Normalerweise, würden man solch Gemeinsamkeiten (creationDate) auf ein Interfaces/abstrakte Klassen zusammenfassen.
Bsp.:
Java:
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<House> houses = new ArrayList<>();
for (int i = 0; i < 5; i++) {
houses.add(new House(LocalDate.of(2014, 10, i + 1)));
}
List<Apartment> apartments = new ArrayList<>();
for (int i = 0; i < 5; i++) {
apartments.add(new Apartment(LocalDate.of(2014, 10, i + 1)));
}
List<Dated> housings = new ArrayList<>();
housings.addAll(apartments);
housings.addAll(houses);
System.out.println(houses);
System.out.println(apartments);
System.out.println(housings);
Collections.sort(housings, new Comparator<Dated>() {
@Override
public int compare(Dated o1, Dated o2) {
return o1.getCreationDate().compareTo(o2.getCreationDate());
}
});
System.out.println(housings);
}
static abstract class Housing implements Dated {
private LocalDate creationDate;
public Housing(LocalDate creationDate) {
this.creationDate = creationDate;
}
@Override
public LocalDate getCreationDate() {
return creationDate;
}
}
static class House extends Housing {
public House(LocalDate creationDate) {
super(creationDate);
}
@Override
public String toString() {
return "House(" + getCreationDate() + ")";
}
}
static class Apartment extends Housing {
public Apartment(LocalDate creationDate) {
super(creationDate);
}
@Override
public String toString() {
return "Apartment(" + getCreationDate() + ")";
}
}
interface Dated {
LocalDate getCreationDate();
}
}