You correctly have the start as the asciibetically lower city name, but when you list them, you don't have them listed asciibetically. A simple Collections.sort(<ArrayList> list, new CityNameComparator()) before listing the roads should do the trick.
+
You correctly have the start as the asciibetically lower city name, but when you list them, you don't have them listed asciibetically. A simple Collections.sort(<ArrayList> list, new RoadComparator()) before listing the roads should do the trick.