From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>

The getAllTiles() is now only used in the map generator, where we finally
wanna have a List anyways, so using Stream is just unnecessary overhead.
---
 src/net/sf/freecol/common/model/Map.java                  | 15 +++++++++------
 .../sf/freecol/server/generator/SimpleMapGenerator.java   |  2 +-
 test/src/net/sf/freecol/common/model/MapTest.java         |  2 +-
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/net/sf/freecol/common/model/Map.java 
b/src/net/sf/freecol/common/model/Map.java
index 715ffbdf195..e402e703323 100644
--- a/src/net/sf/freecol/common/model/Map.java
+++ b/src/net/sf/freecol/common/model/Map.java
@@ -35,7 +35,6 @@ import java.util.function.Consumer;
 import java.util.function.Predicate;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-import java.util.stream.Stream;
 
 import javax.swing.ImageIcon;
 import javax.xml.stream.XMLStreamException;
@@ -1949,13 +1948,17 @@ public class Map extends FreeColGameObject implements 
Location {
     }
 
     /**
-     * Get a stream of all the tiles in the map using an underlying
-     * WholeMapIterator.
+     * Get a list of all the tiles in the map
      *
-     * @return A {@code Stream} of all tiles of the map.
+     * @return A {@code List} of all tiles of the map.
      */
-    public Stream<Tile> getAllTiles() {
-        return toStream(new WholeMapIterator());
+    public List<Tile> getAllTiles() {
+        List<Tile> result = new ArrayList<>();
+        for (Tile[] tl : tiles)
+            for (Tile t : tl)
+                if (t != null)
+                    result.add(t);
+        return result;
     }
 
     /**
diff --git a/src/net/sf/freecol/server/generator/SimpleMapGenerator.java 
b/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
index b287cc9b705..bae22187a34 100644
--- a/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
+++ b/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
@@ -400,7 +400,7 @@ public class SimpleMapGenerator implements MapGenerator {
         // order picking out as many as possible suitable tiles for
         // native settlements such that can be guaranteed at least one
         // layer of surrounding tiles to own.
-        List<Tile> allTiles = toList(map.getAllTiles());
+        List<Tile> allTiles = map.getAllTiles();
         randomShuffle(logger, "All tile shuffle", allTiles, random);
         final int minDistance
             = spec.getRangeOption(GameOptions.SETTLEMENT_NUMBER).getValue();
diff --git a/test/src/net/sf/freecol/common/model/MapTest.java 
b/test/src/net/sf/freecol/common/model/MapTest.java
index 443ce092733..c0040d13079 100644
--- a/test/src/net/sf/freecol/common/model/MapTest.java
+++ b/test/src/net/sf/freecol/common/model/MapTest.java
@@ -189,7 +189,7 @@ public class MapTest extends FreeColTestCase {
         }
 
         int i = 0;
-        for (Tile t : toList(map.getAllTiles())) {
+        for (Tile t : map.getAllTiles()) {
             i++;
             assertTrue(allTiles.remove(t));
         }
-- 
2.11.0.rc0.7.gbe5a750


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Freecol-developers mailing list
Freecol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freecol-developers

Reply via email to