Java 为什么不保存添加到arraylist的数据
我正在循环浏览两个对象列表。我正在将列表#2中的数据推送到hashmap中,并将其添加到新的数组列表中。但是hashmap中的数据似乎没有被持久化 列表1是一组唯一的对象 List2是具有冗余数据的对象列表,这些冗余数据需要一起收集到唯一的list1中Java 为什么不保存添加到arraylist的数据,java,Java,我正在循环浏览两个对象列表。我正在将列表#2中的数据推送到hashmap中,并将其添加到新的数组列表中。但是hashmap中的数据似乎没有被持久化 列表1是一组唯一的对象 List2是具有冗余数据的对象列表,这些冗余数据需要一起收集到唯一的list1中 for (POJOClass1 uniqitm : uniqitms) //list1 { aggrdata.clear(); for (POJOClass1 redundantitm : redundantitms)
for (POJOClass1 uniqitm : uniqitms) //list1
{
aggrdata.clear();
for (POJOClass1 redundantitm : redundantitms) //list2
{
if (redundantitm.getResource().equals(uniqitm.getResource())) //For all objects matching uniq itm, i push below 2 attributes into a hashmap
{
aggrdata.put(redundantitm.getMan(), redundantitm.getData_map());
}
}
uniqitm.setMap2(aggrdata); //aggregated data is pushed into the uniq itm object
uniqitm.setMap(null);
uniqitm.setMan(null);
final.add(uniqitm); //uniq itm object is added to a new array list to be used outside
}
final.stream().forEach(s-> System.out.println(s.getResource()+" : "+s.getMap2())); //The aggregated data doesnt seem to persist correctly
我希望输出包含来自列表2中所有对象的聚合数据。我意识到需要在forloop中声明hashmap才能正常工作。 aggrdata.clear()不够
for (POJOClass1 uniqitm : uniqitms) //list1
{
Map<String,Map<String,String>> aggrdata= new HashMap<String,Map<String,String>>();
for (POJOClass1 redundantitm : redundantitms) //list2
{
if (redundantitm.getResource().equals(uniqitm.getResource())) //For all objects matching uniq itm, i push below 2 attributes into a hashmap
{
aggrdata.put(redundantitm.getMan(), redundantitm.getData_map());
}
}
uniqitm.setMap2(aggrdata); //aggregated data is pushed into the uniq itm object
uniqitm.setMap(null);
uniqitm.setMan(null);
final.add(uniqitm); //uniq itm object is added to a new array list to be used outside
}
for(POJOClass1 uniqitm:uniqitms)//list1
{
Map aggrdata=new HashMap();
for(POJOClass1 redundantitm:redundantitms)//list2
{
如果(redundantitm.getResource().equals(uniqitm.getResource())//对于所有匹配uniq itm的对象,我将下面的2个属性推送到一个hashmap中
{
aggrdata.put(redundantitm.getMan(),redundantitm.getData_map());
}
}
setMap2(aggrdata);//聚合数据被推送到uniq itm对象中
uniqitm.setMap(空);
uniqitm.setMan(空);
final.add(uniqitm);//uniq itm对象被添加到一个新的数组列表中,以便在外部使用
}
您的列表2
和其他东西在哪里?