在Java中自定义的一个key对多个Value的map
来源:互联网 发布:英语四级语法软件 编辑:程序博客网 时间:2024/06/05 01:09
实现类:
import java.util.*;/** * 自定义一对多map */public class OToMoreMap<K,V>{ private List<K> mkey; private List<List<V>> mvlaue; public OToMoreMap(){ mkey = new ArrayList<K>(); mvlaue = new ArrayList<List<V>>(); } /* **添加元素 */ public void put(K key, V value){ List list = new ArrayList<V>(); list.add(value); if (containsKey(key)){ mvlaue.get(mkey.indexOf(key)).add(value); }else { mkey.add(key); mvlaue.add(list); } } /* *通过index获取key */ public K getkey(int i){ return mkey.get(i); } /* *通过index获取values */ public List<V> getvalue(int i){ return mvlaue.get(i); } /* *通过index获取元素 */ public Map<K,List<V>> get(int i){ Map<K,List<V>> map = new HashMap<>(); map.put(mkey.get(i),mvlaue.get(i)); return map; } /* *获取全部元素 */ public Map<K,List<V>> getAll(){ Map<K,List<V>> map = new HashMap<>(); for (int i = 0; i < mkey.size(); i++) { map.put(mkey.get(i),mvlaue.get(i)); } return map; } //查看key是否重复 public boolean containsKey(K key){ if (mkey.contains(key)){ return true; }else { return false; } } /* *大小 */ public long getSize(){ return mkey.size(); } /* *移除 */ public boolean removeAll(){ mkey.clear(); mvlaue.clear(); if (mkey.isEmpty()&&mvlaue.isEmpty()){ return true; }else{ return false; } }}
public class test { public static void main(String[] agrs){ OToMoreMap<Integer,Integer> moreMap = new OToMoreMap<>(); moreMap.put(0,12); moreMap.put(0,13); moreMap.put(1,13); for (int i = 0; i < moreMap.getSize(); i++) { System.out.println(moreMap.get(i)); } System.out.println(moreMap.getAll()); }}
输出结果:
{0=[12, 13]}{1=[13]}{0=[12, 13], 1=[13]}
0 0
- 在Java中自定义的一个key对多个Value的map
- map的一个key多个value
- 多个KEY值对应一个VALUE的MAP
- java Map 一个key其实可以保存多个value
- Map之一个Key存多个Value的MultiValueMap(一个键多个值)
- java-mongodb-mapreduce多集合、单集合的、多个map-key、多个map-value
- java对map中value的排序
- java 获取 Map中所有的 key 和 value 值
- java 获取map中所有的key和value值
- 在map组成的List中发现修改一个map中的key-value,会影响導另一个
- java 中实现一个key保存多个value
- 集合——映射(一个key对多个value的映射)
- STL中map的key和value
- 合并map中key相同的value
- jstl中取map,其中map的key是一个对象,value是一个list
- MultiValueMap的用法(一个key对应多个value)
- LinkedHashMap实现分组排序(保证有序性),并实现map的一个key值对应多个value
- Java去除一个Map中value值最小的K个记录
- 金山副总裁郭炜炜:长线游戏成主流 内容方布局VR尚早
- linux-C编程-网络编程
- (非递归的方法待研究)112. Path Sum
- ACM篇:Uva 679 -- Droping Balls
- char str[]="hello"; sizeof(str)是多少?
- 在Java中自定义的一个key对多个Value的map
- C typedef和#define的区别
- ASP.Net前台数据校验
- HTML入门学习笔记--CSS三大特性(4)
- register 关键字的作用
- 关于hadoop中maptask运行切片前,运行的文件有大量小文件问题
- 合并两个数组并删除重复的元素
- 转载:未来可能是这样子,极端烧脑的《未来简史》解读
- vue树形组件