Small extra stuffs. PS.getDistinctChunks and reverseIndex of map.
This commit is contained in:
parent
938efaeed4
commit
d375ccccb6
@ -1,6 +1,9 @@
|
||||
package com.massivecraft.massivecore.ps;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@ -839,6 +842,20 @@ public final class PS implements Cloneable, Serializable, Comparable<PS>
|
||||
return inSameUniverse(one, two, aspect.getMultiverse());
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// GET SETS
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static Set<PS> getDistinctChunks(Collection<PS> pss)
|
||||
{
|
||||
Set<PS> ret = new LinkedHashSet<PS>();
|
||||
for (PS ps : pss)
|
||||
{
|
||||
ret.add(ps.getChunk(true));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// HASHCODE (CACHED)
|
||||
// -------------------------------------------- //
|
||||
|
@ -653,6 +653,27 @@ public class MUtil
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static <K, V> Map<V, Set<K>> reverseIndex(Map<K, V> map)
|
||||
{
|
||||
Map<V, Set<K>> ret = new LinkedHashMap<V, Set<K>>();
|
||||
|
||||
for (Entry<K, V> entry : map.entrySet())
|
||||
{
|
||||
K key = entry.getKey();
|
||||
V value = entry.getValue();
|
||||
|
||||
Set<K> set = ret.get(value);
|
||||
if (set == null)
|
||||
{
|
||||
set = new HashSet<K>();
|
||||
ret.put(value, set);
|
||||
}
|
||||
set.add(key);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// COLLECTION MANIPULATION
|
||||
// -------------------------------------------- //
|
||||
|
Loading…
Reference in New Issue
Block a user