How should I store a group of constant data of the same type?

If I iterate through an int, won't I have loads of unnecessary zeros?

Only if you iterate through all 16 bits. You presumably only read the required number of booleans from the arrays at the moment so read the required number of bits from the int