我对ArrayLists来说还是比较新的但是我需要它们用于这个模拟项目我是这样做的,如果你们能帮助我的话我会非常感激!
我有一个2D数组列表的HashMap,它应填充" value"和"时间"在基于String键的每次迭代模拟中。我将我的变量定义如下:
protected Map<String, ArrayList<ArrayList<Object>>> history = new HashMap<String,ArrayList<ArrayList<Object>>>();
,我将它初始化为:
for (String act:keySet)
history.put(act, new ArrayList<ArrayList<Object>>());
我的Map的每个ArrayList都有两个arrayList,在每次迭代中我应该添加我的&#34;值&#34;和&#34; time&#34;在每个arrayList中,所以我可以将我的数据及其各自的时间存储在一起,但我不知道如何使用key,在我们可以这样做的时候调用我的arraylist而不使用像普通arrayList中的索引:
tmpData.add("foobar"); // Example
任何帮助都将不胜感激。
瓦赫德
答案 0 :(得分:1)
protected Map<String, ArrayList<ArrayList<Double>>> history = new HashMap<String,ArrayList<ArrayList<Double>>>();
Double time=null;
Double value=null;
time2=null;
ArrayList <Double> inner=null;
for (String act:keySet){
ArrayList<ArrayList<Double>> outer=null;
if ((outer=history.get(act))==null)
{
outer= new ArrayList<ArrayList<Double>> ();
}
inner=new ArrayList <Double>();
time= value1;//your value for this integer
value= value2;
inner.add(time);
inner.add(value);
outer.add(inner);
history.put(act, outer);
}
在每次迭代中我们检查映射是否包含该键,如果是,我们添加一个新的,我们用新的时间对象填充内部ArrayList,然后我们将它添加到预先存在的外部ArrayList,然后我们更新外部的值与该键关联的ArrayList,如果它不包含该键,我们创建外部映射,内部映射和时间对象填充内部ArrayList,外部ArrayList,将外部ArrayList与键关联。