Since things are in a grid formation an array makes for a useful data structure to use. Mainly the ease of accessing things to look for matches. I say ease, because lookups are quick and are just one condition.
That said, if you really don’t like the array object you don’t have to use it. You can access individual tiles with picking conditions. It may make some logic more complex though.
Most tutorials and examples utilize arrays though. But if you get the gist of what they are doing down you should be able to come up with an alternative way of doing it.