Надо сохранять порядок файлов
This commit is contained in:
parent
31c539948e
commit
c04c89de0d
@ -686,40 +686,25 @@ class Starbound : ISBFileLocator {
|
|||||||
.flatMap { it.explore() }
|
.flatMap { it.explore() }
|
||||||
.filter { it.isFile }
|
.filter { it.isFile }
|
||||||
.collect(object :
|
.collect(object :
|
||||||
Collector<IStarboundFile, Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>,
|
Collector<IStarboundFile, Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>, Map<String, List<IStarboundFile>>>
|
||||||
Map<String, List<IStarboundFile>>>,
|
|
||||||
Supplier<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>>,
|
|
||||||
BiConsumer<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>, IStarboundFile>,
|
|
||||||
BinaryOperator<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>>
|
|
||||||
{
|
{
|
||||||
override fun accept(t: Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>, u: IStarboundFile) {
|
|
||||||
t.computeIfAbsent(u.name.substringAfterLast('.'), Object2ObjectFunction { ArrayList() }).add(u)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun get(): Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>> {
|
|
||||||
return Object2ObjectOpenHashMap()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun supplier(): Supplier<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>> {
|
override fun supplier(): Supplier<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>> {
|
||||||
return this
|
return Supplier { Object2ObjectOpenHashMap() }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun accumulator(): BiConsumer<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>, IStarboundFile> {
|
override fun accumulator(): BiConsumer<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>, IStarboundFile> {
|
||||||
return this
|
return BiConsumer { t, u ->
|
||||||
}
|
t.computeIfAbsent(u.name.substringAfterLast('.'), Object2ObjectFunction { ArrayList() }).add(u)
|
||||||
|
}
|
||||||
override fun apply(
|
|
||||||
t: Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>,
|
|
||||||
u: Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>
|
|
||||||
): Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>> {
|
|
||||||
for ((k, v) in u)
|
|
||||||
t.computeIfAbsent(k, Object2ObjectFunction { ArrayList() }).addAll(v)
|
|
||||||
|
|
||||||
return t
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun combiner(): BinaryOperator<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>> {
|
override fun combiner(): BinaryOperator<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>> {
|
||||||
return this
|
return BinaryOperator { t, u ->
|
||||||
|
for ((k, v) in u)
|
||||||
|
t.computeIfAbsent(k, Object2ObjectFunction { ArrayList() }).addAll(v)
|
||||||
|
|
||||||
|
t
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun finisher(): Function<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>, Map<String, List<IStarboundFile>>> {
|
override fun finisher(): Function<Object2ObjectOpenHashMap<String, ArrayList<IStarboundFile>>, Map<String, List<IStarboundFile>>> {
|
||||||
@ -727,7 +712,7 @@ class Starbound : ISBFileLocator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun characteristics(): Set<Collector.Characteristics> {
|
override fun characteristics(): Set<Collector.Characteristics> {
|
||||||
return setOf(Collector.Characteristics.IDENTITY_FINISH, Collector.Characteristics.UNORDERED)
|
return setOf(Collector.Characteristics.IDENTITY_FINISH)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user