diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/core/collect/SupplierMap.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/core/collect/SupplierMap.kt index a53c6448f..90edaa86d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/core/collect/SupplierMap.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/core/collect/SupplierMap.kt @@ -1,5 +1,6 @@ package ru.dbotthepony.mc.otm.core.collect +import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableSet import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap import ru.dbotthepony.mc.otm.core.stream @@ -7,19 +8,15 @@ import java.util.function.Supplier import java.util.stream.Stream class SupplierMap(values: Stream>>) : Map { - private val backing = Object2ObjectLinkedOpenHashMap>() override val entries: Set> override val keys: Set get() = backing.keys override val size: Int get() = entries.size override val values: Collection + private val backing = values.collect(ImmutableMap.toImmutableMap({ it.first }, { it.second })) init { - values.forEach { - backing[it.first] = it.second - } - entries = ImmutableSet.copyOf(backing.entries.map { Entry(it.key, it.value) }) this.values = SupplierList(backing.values) }