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/),併爲你的確切代碼得到明確的答案。 –