Sorry, but this is probably going to be long winded.

Changes are only in CleanSweep.java

I went over my cleanFloor() method, and I discovered a bug that caused tiles to be added more than once to the unvisitedTiles list.
Took me a long time to realize where the problem was located, but I found it and fixed it. Everything then worked fine as expected.

Though, I hadn't incorporated Steven's move() method into cleanFloor() as I should have originally done, but I've done that now.

Before, I get into the problem I just want to mention that I've commented out line 266 in the move() method --> unvisitedTiles.remove(next)
because I think it's best to do that in the cleanFloor() method, but if I'm wrong, please let me know.

Now, the for the problem. Like I said, I incorporated Steven's move() method, and it seems to work just fine, but then it crashes.
The problem happens in the while loop in cleanFloor() when it calls the move() method, but only when it has gone through the loop 51 times.

I've peppered the cleanFloor() method with a bunch of debugging statements to see how it's working so I'm sure it looks terrible and unintelligible.

It goes through the while loop and pauses after 51 times, and after about 5 to 10 minutes, it spits out the following:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at java.util.Arrays.copyOf(Arrays.java:2219)
	at java.util.ArrayList.grow(ArrayList.java:242)
	at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:216)
	at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:208)
	at java.util.ArrayList.add(ArrayList.java:440)
	at DePaul.SE459.CleanSweep.CleanSweep.move(CleanSweep.java:263)
	at DePaul.SE459.CleanSweep.CleanSweep.cleanFloor(CleanSweep.java:100)
	at DePaul.SE459.CleanSweep.CleanSweep.main(CleanSweep.java:374)

So Steven, if you can take a look at it, I'd appreciate it.
I've tried to figure it out, but I'm at a loss.