A bit of confusion

So, i can store a array of color values in a ByteArray class, isnt it?
There are those 32bit colors and 16bit,without alpha, colors, rigth?
And i supose that each ByteArray item is only 1 byte, wich have 8 bits, so how can it store 16 bit or 32 bit colors?
Something is wrong but i dont know what