Collections.sort
может получить экземпляр Comparator
в качестве второго аргумента. В Comparator
вы можете поместить любой код для сравнения двух элементов списка.
Например, сортировка spzn
производится с помощью year
и getBcItem
:
Collections.sort(spzn, new Comparator() {
@Override
public int compare(CcaesItem o1, CcaesItem o2) {
if (o1.getYear() > o2.getYear()) {
return 1;
} else if (o1.getYear() < o2.getYear()) {
return -1;
} else {
if (o1.getBcItem() > o2.getBcItem()) {
return 1;
} else if (o1.getBcItem() < o2.getBcItem()) {
return -1;
}
}
return 0;
}
});
Также не забывайте о нулевых проверках в Comparator
, потому что список может содержать нулевые значения
В вашем запросе GET ваш запрос возвращает только библиотеки. Попробуйте загрузить Книги так, чтобы они были включены в запрос и включены в результаты:
// GET: api/Libraries
[HttpGet]
public async Task<ActionResult<IEnumerable<Library>>> GetTodoItems()
{
return await _context.Libraries.Include(l => l.Books).ToListAsync();
}
изменить return await _context.Libraries.ToListAsync();
на
return await _context.Libraries.Include(x => x.Books).ToListAsync();