有n个唯一编号的抽屉,已经m个不同颜色的球,每个抽屉可以放入一或零个球。
举例,1号抽屉放入红色球,2号抽屉放入绿色球。
如果这个时候要将红色球放入3号抽屉,则必须先将其从1号抽屉取出。
有没有现成的类可以实现这种对应关系?
9 个解决方案
#1
顶起来啊,看看答案
#2
hashmap
#3
hashmap是不适合的,因其只能实现单向的一一映射。如果将抽屉为key,其中的球为value,则你可以根据抽屉检索到对应球是什么颜色的,但不能反向根据要找的某一颜色的球检索到唯一的抽屉;反之(key和value倒一下)亦然。
除非建立两个hashmap,但是这样的操作就很繁琐了。
除非建立两个hashmap,但是这样的操作就很繁琐了。
#4
既然没提供,那就自己定义试试喽。
#5
google的guava库提供BiMap实现双向映射。
#6
自己写呗,一定要所以功能都给你准备好?
#7
这都行! 先搜搜看试试
不过吧 这种关系楼主可以自己写的
#8
Map<A,B> map1 = new ...;
Map<B,A> map2 = new ...;
Map<B,A> map2 = new ...;
#9
Map<A,Map<B,A>>
#1
顶起来啊,看看答案
#2
hashmap
#3
hashmap是不适合的,因其只能实现单向的一一映射。如果将抽屉为key,其中的球为value,则你可以根据抽屉检索到对应球是什么颜色的,但不能反向根据要找的某一颜色的球检索到唯一的抽屉;反之(key和value倒一下)亦然。
除非建立两个hashmap,但是这样的操作就很繁琐了。
除非建立两个hashmap,但是这样的操作就很繁琐了。
#4
既然没提供,那就自己定义试试喽。
#5
google的guava库提供BiMap实现双向映射。
#6
自己写呗,一定要所以功能都给你准备好?
#7
这都行! 先搜搜看试试
不过吧 这种关系楼主可以自己写的
#8
Map<A,B> map1 = new ...;
Map<B,A> map2 = new ...;
Map<B,A> map2 = new ...;
#9
Map<A,Map<B,A>>