хорошо, почти год, я знаю, но у меня была эта проблема недавно, у меня есть объект (JobList), который содержит список объектов (заданий), этот список может быть любого размера, мое решение принимает X количество JobLists и возвращает один JobListТаким образом, если получить 3 объекта JobList, он вернет объект, в котором будет отсортирован список объектов Job следующим образом:
job1FromJobList1 job1FromJobList2 job1FromJobList3 job2FromJobList1 job2FromJobList2 job2FromJobList3 job3FFF2 * *После слияния вы можете игнорировать часть меня, создавая объект, основная часть которого получает максимум, а затем добавляет их в список, если я
public JobList merge(List<JobList> jobListList) {
JobList mergedJobList = new JobList();
int max = 0;
ArrayList<Job> mergedList = new ArrayList<>();
ArrayList<String> tags = new ArrayList<>();
for (JobList jobList : jobListList){
max = Math.max(max,ListConverter.jobListFromString(jobList.getJobList()).size());
for (String tag : jobList.getJobListsTags()){
tags.add(tag);
}
}
for (int i = 0; i < max; i++){
for (JobList jobList : jobListList){
if (i < ListConverter.jobListFromString(jobList.getJobList()).size())
mergedList.add(ListConverter.jobListFromString(jobList.getJobList()).get(i));
}
}
mergedJobList.setJobListTitle("Title");
mergedJobList.setJobListFavourite(false);
mergedJobList.setJobListsTags((String[]) tags.toArray());
mergedJobList.setJobListColour(this.getString(R.string.white));
mergedJobList.setJobList(ListConverter.stringFromJobList(mergedList));
return mergedJobList;
}