Per ordinare l'array puoi usare il metodo sort di Arrays:
link
Il Comparator definirà l'ordine usando il valore del campo categoria dei libri.
Una volta ordinato... be', è fatta. Essendo un esercizio di scuola, non posso chiaramente scendere più nei dettagli di così.