如何在java中实现嵌套的arraylist?

时间:2011-12-03 15:33:14

标签: java collections arraylist

我想创建一个自定义集合,例如:

{"2011-10-27": {object1 , object2 , ...}  , "2011-10-28" : {object n , object n+1 , ..}}

对于这件事,我认为arraylist可以满足我的要求,但我不知道如何在java中实现嵌套的arraylist。

如果你认为我的目的是arraylist不适合我必须在java中使用什么样的集合?

问候。

5 个答案:

答案 0 :(得分:3)

考虑使用Map,您可以在其中存储键值对。请参阅Map javadoc。

答案 1 :(得分:1)

您正在寻找的是Map

Map<Date, Set<Object>> map = new HashMap<Date, Set<Object>>();

map.put(new Date(), new HashSet<Object>(Arrays.asList(1,2,3)));

答案 2 :(得分:1)

您展示的内容更像是列表地图:

Map<String,List>> map = new HashMap<String,List>>();

然后你可以用:

填充每一个
List list = new ArrayList();
list.add(object1);
map.put("2001-01-10",list);

答案 3 :(得分:0)

我认为您要找的是Map存储String作为键,每个键映射到ArrayList

        Map<String,ArrayList> mp=new HashMap<String, ArrayList>();
        ArrayList<String>newarray = new ArrayList<String>();
        newarray.add("hello");
        mp.put("2011-10-97", newarray);

根据您要在ArrayList中存储的对象类型,您可以相应地更改类型,我将其保留为String

答案 4 :(得分:0)

您可以使用与HashMap相关联的ArrayList

HashMap<String, ArrayList<Object>> myMap = new  HashMap<String, ArrayList<Object>>();
ArrayList<Object> myList = new ArrayList<Object>();
myList.add(anObject);
myMap.put("2011-10-27", myList);

您还可以使用Date代替字符串作为HashMap密钥。

实际上,您可以使用实现Map interfaceListSet接口的类的任意组合,而不是使用HashMapArrayList / p>