Beh, Gson non c'entra niente in tal senso, si occupa solo del mapping tra JSON e classi Java, non può fare alcuna logica, ricerca o analisi particolare sul contenuto.
Avrai sicuramente una classe es. Libro, quindi a fronte di quel JSON dovrai arrivare ad avere un array Libro[] o una lista List<Libro> contenente gli oggetti con quei dati. A quel punto dovrai fare l'analisi che hai descritto con del codice Java. La cosa tipica è sfruttare una "map", in questo caso un Map<String,Integer> dove la chiave è l'author e il valore è un contatore. Scansioni lista/array, per ogni author incrementi il valore nella mappa (o setti 1 se non c'è ancora un valore).
Se puoi usare Java 8, con le sue belle cose lambda expression e Stream API, lo puoi fare anche molto elegantemente e in modo compatto.