本文整理汇总了Java中com.google.common.collect.BiMap类的典型用法代码示例。如果您正苦于以下问题:Java BiMap类的具体用法?Java BiMap怎么用?Java BiMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BiMap类属于com.google.common.collect包,在下文中一共展示了BiMap类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onCreate
import com.google.common.collect.BiMap; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void onCreate(Map<ResourceLocation, ?> slaveset, BiMap<ResourceLocation, ? extends IForgeRegistry<?>> registries)
{
final ClearableObjectIntIdentityMap<IBlockState> idMap = new ClearableObjectIntIdentityMap<IBlockState>()
{
@SuppressWarnings("deprecation")
@Override
public int get(IBlockState key)
{
Integer integer = (Integer)this.identityMap.get(key);
// There are some cases where this map is queried to serialize a state that is valid,
//but somehow not in this list, so attempt to get real metadata. Doing this hear saves us 7 patches
if (integer == null && key != null)
integer = this.identityMap.get(key.getBlock().getStateFromMeta(key.getBlock().getMetaFromState(key)));
return integer == null ? -1 : integer.intValue();
}
};
((Map<ResourceLocation,Object>)slaveset).put(BLOCKSTATE_TO_ID, idMap);
final HashBiMap<Block, Item> map = HashBiMap.create();
((Map<ResourceLocation,Object>)slaveset).put(BLOCK_TO_ITEM, map);
}
示例2: SoundManager
import com.google.common.collect.BiMap; //导入依赖的package包/类
public SoundManager(SoundHandler p_i45119_1_, GameSettings p_i45119_2_)
{
this.invPlayingSounds = ((BiMap)this.playingSounds).inverse();
this.playingSoundPoolEntries = Maps.<ISound, SoundPoolEntry>newHashMap();
this.categorySounds = HashMultimap.<SoundCategory, String>create();
this.tickableSounds = Lists.<ITickableSound>newArrayList();
this.delayedSounds = Maps.<ISound, Integer>newHashMap();
this.playingSoundsStopTime = Maps.<String, Integer>newHashMap();
this.sndHandler = p_i45119_1_;
this.options = p_i45119_2_;
try
{
SoundSystemConfig.addLibrary(LibraryLWJGLOpenAL.class);
SoundSystemConfig.setCodec("ogg", CodecJOrbis.class);
}
catch (SoundSystemException soundsystemexception)
{
logger.error(LOG_MARKER, (String)"Error linking with the LibraryJavaSound plug-in", (Throwable)soundsystemexception);
}
}
示例3: configureResourceSetContainerState
import com.google.common.collect.BiMap; //导入依赖的package包/类
private void configureResourceSetContainerState(final List<N4JSProject> allProjects) {
// a container is a project.
List<String> containers = new LinkedList<>();
BiMap<String, N4JSProject> container2project = HashBiMap.create();
// the URIs of all resources directly contained in a project/container.
Multimap<String, URI> container2Uris = HashMultimap.create();
for (N4JSProject project : allProjects) {
String container = FileBasedWorkspace.N4FBPRJ + project.getLocation();
container2project.put(container, project);
containers.add(container);
for (IN4JSSourceContainer sourceContainer : project.getSourceContainers()) {
Iterables.addAll(container2Uris.get(container), sourceContainer);
}
}
// Define the Mapping of Resources (URIs to Container === Projects),
rsbAcs.configure(containers, container2Uris);
}
示例4: testConflictInsertKV
import com.google.common.collect.BiMap; //导入依赖的package包/类
/**
* BiMap存储数据时出现冲突
* 存储时,如果key相同,则会覆盖,则逆转后不会有问题
* 存储时,如果key不同,value有相同,则逆转时会抛出异常IllegalArgumentException
*/
@Test
public void testConflictInsertKV() {
// 存储相同key数据,此时会覆盖k1=v1
BiMap<String, String> biMap1 = HashBiMap.create();
biMap1.put("k1", "v1");
biMap1.put("k1", "v2");
System.out.println("biMap1: " + biMap1);
// 获取的只有 v2=k1
BiMap<String, String> inverseBiMap1 = biMap1.inverse();
System.out.println("inverseBiMap1: " + inverseBiMap1);
System.out.println("--------------------------------------");
// 存储相同的value数据
BiMap<String, String> biMap2 = HashBiMap.create();
biMap2.put("k1", "v1");
// 此时抛出异常 java.lang.IllegalArgumentException: value already present: v1
biMap2.put("k2", "v1");
System.out.println("biMap2: " + biMap2);
BiMap<String, String> inverseBiMap2 = biMap2.inverse();
System.out.println("inverseBiMap2: " + inverseBiMap2);
}
示例5: fixOids
import com.google.common.collect.BiMap; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
private void fixOids(IdEObject idEObject, OidProvider oidProvider, BiMap<Long, IdEObject> temp) {
if (idEObject == null) {
return;
}
if (temp.containsValue(idEObject)) {
return;
}
((IdEObjectImpl) idEObject).setOid(oidProvider.newOid(idEObject.eClass()));
if (objects.containsValue(idEObject)) {
temp.put(idEObject.getOid(), idEObject);
}
for (EReference eReference : idEObject.eClass().getEAllReferences()) {
Object val = idEObject.eGet(eReference);
if (eReference.isMany()) {
List list = (List) val;
for (Object o : list) {
fixOids((IdEObject) o, oidProvider, temp);
}
} else {
fixOids((IdEObject) val, oidProvider, temp);
}
}
}
示例6: onSubstituteActivated
import com.google.common.collect.BiMap; //导入依赖的package包/类
@Override
public void onSubstituteActivated(Map<ResourceLocation, ?> slaveset, Block original, Block replacement, ResourceLocation name)
{
final BiMap<Block, Item> blockItemMap = (BiMap<Block, Item>)slaveset.get(BLOCK_TO_ITEM);
if (blockItemMap.containsKey(original))
{
Item i = blockItemMap.get(original);
if (i instanceof ItemBlock)
{
try
{
FinalFieldHelper.setField(blockField, i, replacement);
}
catch (Exception e)
{
throw Throwables.propagate(e);
}
}
blockItemMap.forcePut(replacement,i);
}
}
示例7: getUnmappedMethodMapping
import com.google.common.collect.BiMap; //导入依赖的package包/类
public Optional<MethodRef> getUnmappedMethodMapping(CtClass targetClass, CtMethod
handleMethod) {
BiMap<MethodRef, MethodRef> methodsInverted = methodRefs.inverse();
String descriptor = InjectorPlugin.removeCallbackDescriptor(handleMethod.getMethodInfo2()
.getDescriptor());
for (Map.Entry<MethodRef, MethodRef> mapping : methodsInverted.entrySet()) {
MethodRef key = mapping.getKey();
if (targetClass.getName().replace('.', '/').equals(key.getOwner()) && handleMethod
.getName
().equals
(key
.getName()) && descriptor.equals(key.getDesc())) {
return Optional.of(mapping.getValue());
}
}
return Optional.empty();
}
示例8: modifyTypes
import com.google.common.collect.BiMap; //导入依赖的package包/类
/** Applies the supplied modifications to the GraphQLTypes. */
private static BiMap<String, GraphQLType> modifyTypes(
BiMap<String, GraphQLType> mapping,
ImmutableListMultimap<String, TypeModification> modifications) {
BiMap<String, GraphQLType> result = HashBiMap.create(mapping.size());
for (String key : mapping.keySet()) {
if (mapping.get(key) instanceof GraphQLObjectType) {
GraphQLObjectType val = (GraphQLObjectType) mapping.get(key);
if (modifications.containsKey(key)) {
for (TypeModification modification : modifications.get(key)) {
val = modification.apply(val);
}
}
result.put(key, val);
} else {
result.put(key, mapping.get(key));
}
}
return result;
}
示例9: expectMissing
import com.google.common.collect.BiMap; //导入依赖的package包/类
@Override
protected void expectMissing(Entry<K, V>... entries) {
super.expectMissing(entries);
for (Entry<K, V> entry : entries) {
Entry<V, K> reversed = reverseEntry(entry);
BiMap<V, K> inv = getMap().inverse();
assertFalse(
"Inverse should not contain entry " + reversed, inv.entrySet().contains(reversed));
assertFalse(
"Inverse should not contain key " + reversed.getKey(),
inv.containsKey(reversed.getKey()));
assertFalse(
"Inverse should not contain value " + reversed.getValue(),
inv.containsValue(reversed.getValue()));
/*
* TODO(cpovirk): This is a bit stronger than super.expectMissing(), which permits a <key,
* someOtherValue> pair.
*/
assertNull(
"Inverse should not return a mapping for key " + reversed.getKey(),
inv.get(reversed.getKey()));
}
}
示例10: SoundManager
import com.google.common.collect.BiMap; //导入依赖的package包/类
public SoundManager(SoundHandler p_i45119_1_, GameSettings p_i45119_2_)
{
this.invPlayingSounds = ((BiMap)this.playingSounds).inverse();
this.categorySounds = HashMultimap.<SoundCategory, String>create();
this.tickableSounds = Lists.<ITickableSound>newArrayList();
this.delayedSounds = Maps.<ISound, Integer>newHashMap();
this.playingSoundsStopTime = Maps.<String, Integer>newHashMap();
this.listeners = Lists.<ISoundEventListener>newArrayList();
this.pausedChannels = Lists.<String>newArrayList();
this.sndHandler = p_i45119_1_;
this.options = p_i45119_2_;
try
{
SoundSystemConfig.addLibrary(LibraryLWJGLOpenAL.class);
SoundSystemConfig.setCodec("ogg", CodecJOrbis.class);
net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.sound.SoundSetupEvent(this));
}
catch (SoundSystemException soundsystemexception)
{
LOGGER.error(LOG_MARKER, (String)"Error linking with the LibraryJavaSound plug-in", (Throwable)soundsystemexception);
}
}
示例11: getTrainsFollowingEachOther
import com.google.common.collect.BiMap; //导入依赖的package包/类
public BiMap<Train, Train> getTrainsFollowingEachOther() {
if (false && trailingTrains.size() + 1 == world.getTrains().size()) {
return trailingTrains;
}
trailingTrains.clear();
Map<Journey, Journey> journeyTrail = getJourneysFollowingEachOther();
journeyTrail.forEach((key, value) -> trailingTrains.put(key.getTrain(), value.getTrain()));
return trailingTrains;
}
示例12: match
import com.google.common.collect.BiMap; //导入依赖的package包/类
@Override
public Iterable<BiMap<V, V>> match(BiMap<V, V> baseIso, G viewGraph, G insertGraph) {
ProblemNeighborhoodAware<BiMap<V, V>, V> problem = toProblem(baseIso, viewGraph, insertGraph);
Iterable<BiMap<V, V>> result = () -> problem.generateSolutions().iterator();
return result;
}
示例13: registerSubstitutionAlias
import com.google.common.collect.BiMap; //导入依赖的package包/类
void registerSubstitutionAlias(String name, GameRegistry.Type type, Object toReplace) throws ExistingSubstitutionException
{
ResourceLocation nameToSubstitute = new ResourceLocation(name);
final BiMap<Block, Item> blockItemMap = getBlockItemMap();
if (type == GameRegistry.Type.BLOCK)
{
iBlockRegistry.addSubstitutionAlias(Loader.instance().activeModContainer().getModId(), nameToSubstitute, (Block)toReplace);
iBlockRegistry.activateSubstitution(nameToSubstitute);
}
else if (type == GameRegistry.Type.ITEM)
{
iItemRegistry.addSubstitutionAlias(Loader.instance().activeModContainer().getModId(), nameToSubstitute, (Item)toReplace);
iItemRegistry.activateSubstitution(nameToSubstitute);
}
}
示例14: getTypeMap
import com.google.common.collect.BiMap; //导入依赖的package包/类
public static BiMap<String, Integer> getTypeMap()
{
BiMap<String, Integer> typeMap = HashBiMap.create();
typeMap.put(ITEM_NODE_TYPE, ITEM_TYPE);
typeMap.put(PARALLEL_NODE_TYPE, PARALLEL_TYPE);
typeMap.put(SERIAL_NODE_TYPE, SERIAL_TYPE);
typeMap.put(DECISION_NODE_TYPE, DECISION_TYPE);
return typeMap;
}
示例15: dump
import com.google.common.collect.BiMap; //导入依赖的package包/类
public synchronized void dump(Writer writer) throws IOException {
for (Map.Entry<S, BiMap<String, Integer>> entry : id2num.entrySet()) {
S subset = entry.getKey();
for (Map.Entry<String, Integer> entry1 : entry.getValue().entrySet()) {
String id = entry1.getKey();
Integer num = entry1.getValue();
writer.write(subset + ";" + id + ";" + num + System.lineSeparator());
}
}
}