2014-09-05 65 views
0

我需要在缓存中的键值对中存储一些明智的值,例如: category1 = {(k1,v1),(k2,v2)} category1 = {(k3,v3) ,(k4,v4)}分区并发HashMap

它可以同时访问。 我看起来像分区并发HashMap,但不知道到底使用什么数据结构。 任何想法? 感谢

+0

为每个分区使用单独的“Map”? – icza 2014-09-05 06:44:36

+0

试试这个[link](http://stackoverflow.com/questions/510632/whats-the-difference-between-concurrenthashmap-and-collections-synchronizedmap) – user23123412 2014-09-05 06:56:40

+0

那么MapList的ArrayList呢,其中每个地图都是一个类别。和arraylist是容器 – guptakvgaurav 2014-09-05 07:08:19

回答

0

这可能是对您有用,

ArrayList<Map> categoryWrapperList = new ArrayList<Map>(); 
Map category1 = new HashMap<Integer, Integer>(); 
category1.put(1, 2); 
category1.put(2, 3); 
Map category2 = new HashMap<Integer, Integer>(); 
category2.put(11, 2); 
category2.put(21, 3); 
categoryWrapperList.add(category1); 
categoryWrapperList.add(category2); 

这里,ArrayList的将存储的所有类别,你可以把任何值的类别。你显然可以通过ArrayList在各种操作(如get,search等)中看到更多关于ArrayList的时间消耗。

+0

我们可以使用地图内的地图, – user3363969 2014-09-05 07:18:00

+0

这是一个问题或建议?如果有问题,那么你可以。 – guptakvgaurav 2014-09-05 07:20:00