Skip to content

Commit ff1abf0

Browse files
committed
Polishing.
Use IdentityHashMap for parameter lookup. See #3000
1 parent e0cddb1 commit ff1abf0

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/java/org/springframework/data/mapping/model/KotlinInstantiationDelegate.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121

2222
import java.lang.reflect.Constructor;
2323
import java.util.ArrayList;
24+
import java.util.IdentityHashMap;
2425
import java.util.List;
2526
import java.util.Map;
2627
import java.util.function.Function;
27-
import java.util.stream.Collectors;
2828
import java.util.stream.IntStream;
2929

3030
import org.springframework.data.mapping.InstanceCreatorMetadata;
@@ -66,8 +66,12 @@ public KotlinInstantiationDelegate(PreferredConstructor<?, ?> preferredConstruct
6666

6767
this.constructor = kotlinConstructor;
6868
this.kParameters = kotlinConstructor.getParameters();
69-
this.indexByKParameter = IntStream.range(0, kParameters.size()).boxed()
70-
.collect(Collectors.toMap(kParameters::get, Function.identity()));
69+
this.indexByKParameter = new IdentityHashMap<>();
70+
71+
for (int i = 0; i < kParameters.size(); i++) {
72+
indexByKParameter.put(kParameters.get(i), i);
73+
}
74+
7175
this.constructorToInvoke = constructorToInvoke;
7276
this.hasDefaultConstructorMarker = hasDefaultConstructorMarker(constructorToInvoke.getParameters());
7377

0 commit comments

Comments
 (0)