Conversión de valores de matriz de bytes en orden de little endian a valores cortos

Tengo una matriz de bytes donde los datos de la matriz son en realidad datos cortos. Los bytes están ordenados en little endian:

3, 1, -48, 0, -15, 0, 36, 1

Que cuando se convierte a valores cortos resulta en:

259, 208, 241, 292

¿Existe una forma sencilla en Java de convertir los valores de bytes a sus valores cortos correspondientes? Puedo escribir un bucle que solo toma cada byte alto y lo desplaza 8 bits y O con su byte bajo, pero eso tiene un impacto en el rendimiento.

Respuestas a la pregunta(2)

Su respuesta a la pregunta