3
嗨试图找出如何映射到EnumMap没有成功。 目前我正在做2个步骤,我创建了地图,然后将其制作为EnumMap。 问题是。EnumMap&streams
- 是否有可能只做一步?
从效率的角度来看,从 输入值,使它们成为一个集合,然后流式处理,或者只是使用toMap作为 它现在是正确的。感谢
Map<CarModel, CarBrand> input... final Map<CarBrand, CarsSellers> ret = input.values() .stream().filter(brand -> !brand.equals(CarBrand.BMW)) .collect(toMap(Function.identity(), brand -> new CarsSellers(immutableCars, this.carsDb.export(brand)))); final EnumMap<CarBrand, CarsSellers> enumMap = new EnumMap<>(CarBrand.class); enumMap.putAll(ret);
感谢您的帮助,我发现forloops比stream更高效。它是否适用于我们正在谈论的地图时,如果我使用相同的方法来代替。它会更快吗? – Hook
@与Java挂钩很难说微型优化是否会更快。由于移动部件少得多,所以简单的循环很可能会更快。我建议你熟悉一下[jmh](http://openjdk.java.net/projects/code-tools/jmh/),并为你的确切代码得到明确的答案。 –