Does Scala have any sort of classes that can deal with this? I was considering using an Array[Array[_]], since it would fit my needs quite well.
What other options do I have? Using a Map[(Int,Int),_] will be too slow, I believe, since it has linear access time.
Access in Map implementations (besides ListMap) is certainly not linear (very small maps, with less than 4 elements, do indeed linear search, but that is a very fast implementation for so small a map, that is O(N) with a very small N, and a very small k factor too. But when the table grows, a different algorithm is used, asymptotically much faster, typically O(log(N)) or O(1).
Yet, if what you need is a table/matrix, in the sense that it contains data for keys (i,j) satisfying 0 <= i < m, 0 <= j < n, (starting at 1 would be fine too) a general map may not be the best choice. All the more if the table is full, that is all (i,j) have values. Then something Array based, either Array[Array[_]] or even a single array could be much better. If you want something that specialized, maybe you will not want to implement the full Map interface.