On 5/24/18 2:20 AM, Peter Levart wrote:
The test looks good, but the way you write keys from unmodifiable map composed of WORDS:

   84             Arrays.stream(WORDS)
   85                   .collect(toUnmodifiableMap(word -> word, word -> ""))
   86                   .keySet()
   87                   .forEach(mapOut::println);

...could actually randomize order because of the way the collector constructs the unmodifiable map and not because of the unmodifiable map API itself: [...]

So you should perhaps construct an Map.Entry[] form WORDS keeping encounter
order and initialize the unmodifiable map from it directly.
It seems unlikely to become an actual problem, but it is a good point. It's probably wise to make creation of the map as explicit as possible.

I've replaced that code with the following:

  85             var map = Map.ofEntries(Arrays.stream(WORDS)
  86                                           .map(word -> Map.entry(word, ""))
  87                                           .toArray(Map.Entry<?, 
?>[]::new));
  88             map.keySet()
  89                .forEach(mapOut::println);

Updated webrev:

    http://cr.openjdk.java.net/~smarks/reviews/8201518/webrev.1/

Thanks,

s'marks

Reply via email to