gpt4 book ai didi

java - 获取嵌套 HashMap 的值

转载 作者:行者123 更新时间:2023-12-01 12:46:40 28 4
gpt4 key购买 nike

我有 map 和 map 内的列表,并且想从数据库获取此 map 对象的数据,任何人都可以建议我,我是否以正确的方式获取此代码上两个 map 的键和值,我有一个对象 A,它包含一个带有 C 值列表的对象 B,我正在获取 A 对象的数据,但 B 和 C 对象的数据在所有 A 对象中都是相似的,而 C 对象只是点一个点,而不渲染所有对象值(value)观,我哪里错了?:

void getData(int dataNo) {

AsyncCallback<Map<A, Map<B,List<C>>>> callback = new AsyncCallback<Map<A, Map<B,List<C>>>>() {

public void onFailure(Throwable caught) {

}

public void onSuccess(Map<A, Map<B,List<C>>> result) {

panel.clear();

for (Map.Entry<A, Map<B,List<C>>> entry : result.entrySet()) {
A a = entry.getKey();
Map<B, List<C>> bc = entry.getValue();

chart = new Chart().setType(Series.Type.LINE)
.setLegend(new Legend()
.setLayout(Legend.Layout.VERTICAL)
.setAlign(Legend.Align.RIGHT)
.setVerticalAlign(Legend.VerticalAlign.TOP)
.setX(-10).setY(100)
.setBorderWidth(0))
.setZoomType(Chart.ZoomType.X_AND_Y);

chart.setChartTitleText(a.getL());

for(Map.Entry<B, List<C>> in : bc.entrySet()){
B b = in.getKey();
List<C> c=in.getValue();

bc.containsKey(b);
bc.containsValue(c);
serie = chart.createSeries().setName(b.getF());
C[] ac=c.toArray(new C[c.size()]);
for (C cd: ac) {
serie.setPoints(new Number[] { cd.getS()});
}

chart.addSeries(serie);

}
panel.add(chart);
}

}

};

编辑填充 map :

   public Map<A, Map<B, List<C>>> getL(int dataNo) {
Map<A, Map<B, List<C>>> outermap = new HashMap<A, Map<B, List<C>>>();
Map<B,List<C>> innermap=new HashMap<B,List<C>>();

List<A> a= DB.getL(dataNo);
for (A aa: a) {
outermap.put(aa, innermap);
List<B> b=DB.getK(aa.getId());
for(B bb: b){
innermap.put(bb, DB.getD(bb.getId()));
}

}
return outermap;
}

最佳答案

当您填充outermap时,您需要为每个条目使用不同的innermap。您的代码应为:

public Map<A, Map<B, List<C>>> getL(int dataNo) {
Map<A, Map<B, List<C>>> outermap = new HashMap<A, Map<B, List<C>>>();
List<A> a= DB.getL(dataNo);
for (A aa: a) {
Map<B,List<C>> innermap=new HashMap<B,List<C>>();
outermap.put(aa, innermap);
List<B> b=DB.getK(aa.getId());
for(B bb: b){
innermap.put(bb, DB.getD(bb.getId()));
}
}
return outermap;
}

关于java - 获取嵌套 HashMap 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24640304/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com