spring笔记-MultiValueMap
2024-10-06 23:18:13
即一个键对应多个值,Spring的内部实现是LinkedMultiValueMap
MultiValueMap接口
一键多值的使用场景是比较多的,在使用该数据结构之前,通常会自己定义
Map<K, List<V>>
可以使用该数据结构进行代替使用.
代码测试用例
public class LinkedMultiValueMapTests { private LinkedMultiValueMap<String, String> map; @Before
public void setUp() {
map = new LinkedMultiValueMap<String, String>();
} @Test
public void add() {
map.add("key", "value1");
map.add("key", "value2");
assertEquals(1, map.size());
List<String> expected = new ArrayList<String>(2);
expected.add("value1");
expected.add("value2");
assertEquals(expected, map.get("key"));
} @Test
public void getFirst() {
List<String> values = new ArrayList<String>(2);
values.add("value1");
values.add("value2");
map.put("key", values);
assertEquals("value1", map.getFirst("key"));
assertNull(map.getFirst("other"));
} @Test
public void set() {
map.set("key", "value1");
map.set("key", "value2");
assertEquals(1, map.size());
assertEquals(Collections.singletonList("value2"), map.get("key"));
} @Test
public void equals() {
map.set("key1", "value1");
assertEquals(map, map);
MultiValueMap<String, String> o1 = new LinkedMultiValueMap<String, String>();
o1.set("key1", "value1");
assertEquals(map, o1);
assertEquals(o1, map);
Map<String, List<String>> o2 = new HashMap<String, List<String>>();
o2.put("key1", Collections.singletonList("value1"));
assertEquals(map, o2);
assertEquals(o2, map);
}
}
调试看一下 内部数据结构,其内部是一个LinkedList
最新文章
- gulp教程之gulp-autoprefixer<;转>;
- 【android 开 发 】 - Android studio 下 NDK Jni 开发 简单例子
- java ide 导出可运行jar包
- Android(Xamarin)之旅(五)
- 在sqlServer中把数据导出为insert脚本
- PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空,DeDeCMS在PHP5.4下编辑器中文不显示问题
- 改变HTML
- Spring学习(一)——Spring中的依赖注入简介【转】
- 一起学CUDA(一)
- 通过spring来配置某个命令号和执行方法之间的映射
- web.cofing(新手必看)
- c++ 右值引用,move关键字
- Django之CRM项目Day6-公私户转换问题解决 班主任功能
- F#周报2019年第4期
- 洛谷 P1571 眼红的Medusa【二分查找】 || 【map】
- 如果让我重来,我会选择C和(或者)Python。
- C语言--第四周作业评分和总结(5班)
- multer详解
- AND Graph CodeForces - 987F(思维二进制dfs)
- Linux bash脚本及常用命令--不断更新中
热门文章
- Cnblogs 主题2
- JSP页面属性
- 实验1:SDN拓扑实践
- 从零入门 Serverless | 一文讲透 Serverless Kubernetes 容器服务
- .NET Core 基于Quartz的UI可视化操作组件 GZY.Quartz.MUI 简介
- 洛谷4755 Beautiful Pair (分治)
- Docker--harbor私有仓库部署与管理
- 初学python-day4 字典(已更新完)
- 【UE4 C++】 UDataAsset、UPrimaryDataAsset 的简单使用
- 力扣 - 剑指 Offer 53 - I. 在排序数组中查找数字 I