--- old/make/src/classes/build/tools/tzdb/TzdbZoneRulesCompiler.java 2015-04-20 00:11:56.421983166 +0100 +++ new/make/src/classes/build/tools/tzdb/TzdbZoneRulesCompiler.java 2015-04-20 00:11:56.043983947 +0100 @@ -67,8 +67,8 @@ import java.text.ParsePosition; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; @@ -233,7 +233,7 @@ out.writeUTF(regionId); } // rules -- hashset -> remove the dup - List rulesList = new ArrayList<>(new HashSet<>(builtZones.values())); + List rulesList = new ArrayList<>(new LinkedHashSet<>(builtZones.values())); out.writeShort(rulesList.size()); ByteArrayOutputStream baos = new ByteArrayOutputStream(1024); for (ZoneRules rules : rulesList) { @@ -275,13 +275,13 @@ private static final Matcher TIME = Pattern.compile("(?-)?+(?[0-9]{1,2})(:(?[0-5][0-9]))?+(:(?[0-5][0-9]))?+").matcher(""); /** The TZDB rules. */ - private final Map> rules = new HashMap<>(); + private final Map> rules = new LinkedHashMap<>(); /** The TZDB zones. */ - private final Map> zones = new HashMap<>(); + private final Map> zones = new LinkedHashMap<>(); /** The TZDB links. */ - private final Map links = new HashMap<>(); + private final Map links = new LinkedHashMap<>(); /** The built zones. */ private final SortedMap builtZones = new TreeMap<>();