BiMap
来源:互联网 发布:国内旅游收入数据统计 编辑:程序博客网 时间:2024/06/06 00:09
import org.junit.Test;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
/**
* @author Andypan
* @BiMapTest.java
* @{describe}
* @date 2017年7月24日 下午6:48:21
*/
public class BiMapTest
{
@Test
public void BimapTest(){
BiMap<Integer,String> logfileMap = HashBiMap.create();
logfileMap.put(1,"a.log");
logfileMap.put(2,"b.log");
logfileMap.put(3,"c.log");
System.out.println("logfileMap:"+logfileMap);
BiMap<String,Integer> filelogMap = logfileMap.inverse();
System.out.println("filelogMap:"+filelogMap);
}
@Test
//Bimap数据的强制唯一性
// 在使用BiMap时,会要求Value的唯一性
// logfileMap.put(5,"d.log") 会抛出java.lang.IllegalArgumentException: value already present: d.log的错误。
//如果我们确实需要插入重复的value值,那可以选择forcePut方法。但是我们需要注意的是前面的key也会被覆盖了。
public void BimapTest2(){BiMap<Integer,String> logfileMap = HashBiMap.create();
logfileMap.put(1,"a.log");
logfileMap.put(2,"b.log");
logfileMap.put(3,"c.log");
logfileMap.put(4,"d.log");
logfileMap.forcePut(5,"d.log");
System.out.println("logfileMap:"+logfileMap);
}
// logfileMap:{5=d.log, 3=c.log, 2=b.log, 1=a.log}
@Test
public void BimapTest3(){
// 理解inverse方法
// inverse方法会返回一个反转的BiMap,但是注意这个反转的map不是新的map对象,它实现了一种视图关联,
//这样你对于反转后的map的所有操作都会影响原先的map对象。例如:
BiMap<Integer,String> logfileMap = HashBiMap.create();logfileMap.put(1,"a.log");
logfileMap.put(2,"b.log");
logfileMap.put(3,"c.log");
System.out.println("logfileMap:"+logfileMap);
BiMap<String,Integer> filelogMap = logfileMap.inverse();
System.out.println("filelogMap:"+filelogMap);
logfileMap.put(4,"d.log");
System.out.println("logfileMap:"+logfileMap);
System.out.println("filelogMap:"+filelogMap);
}
}
阅读全文
0 0
- BiMap
- BiMap
- Boost::bimap
- boost::bimap
- boost::bimap详解
- boost bimap简介
- boost bimap 学习笔记
- Guava学习之BiMap
- Bimap实例化研究
- Bimap getPixels方法研究
- BiMap源码解析
- bimap OOM(2)
- [Guava]——BiMap
- boost bimap 学习笔记
- Java-类库-Guava-Bimap
- Guava collections -- BiMap
- guava之BiMap
- boost之bimap(1)
- Analysis of Drifting Dynamics with Neural Network Hidden Markov Models
- 将excel数据导入到数据库中
- 抽象类和接口
- 并查集
- cellspacing和cellpadding
- BiMap
- 【Redis深入】Redis分布式锁的实现
- ELK之logstath的使用(1)----介绍
- ROS 小乌龟测试
- 列表和数组
- Codeforces 665E Beautiful Subarrays (01Trie)
- Java的三种代理模式
- 关于jquery的所有知识
- (转)详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题