Map <TreeMap<String,String>, String> warn = new TreeMap<TreeMap<String,String>, String>();
TreeMap<String,String> am=new TreeMap<String,String>();
am.put("11", "a错误");
am.put("12", "b错误");
warn.put(am,"aa");
warn.put(am,"ab");如何遍历里面的键和值?
TreeMap<String,String> am=new TreeMap<String,String>();
am.put("11", "a错误");
am.put("12", "b错误");
warn.put(am,"aa");
warn.put(am,"ab");如何遍历里面的键和值?
System.out.println(obj);
}另外warn.put(am,"ab"); 会把warn.put(am,"aa");覆盖掉的
map的key不能相同,因为放进去的时候要做比较,但TreeMap没有实现Comparable接口,LZ的代码有异常
思路大概可以这样,我认为把map当作map的value会更好
Set<TreeMap<String, String>> set = warn.keySet();
for(Map<String, String> map : set) {
System.out.println(map);
}
运行了一下发现有异常
map的key不能相同,因为放进去的时候要做比较,但TreeMap没有实现Comparable接口,LZ的代码有异常
思路大概可以这样
Set <TreeMap <String, String>> set = warn.keySet();
for(Map <String, String> map : set) {
System.out.println(map);
}但我认为把map当作map的value会更好
后用迭代器取value
TreeMap <String,String> am=new TreeMap <String,String>();
am.put("11", "a错误");
am.put("12", "b错误");
warn.put(am,"aa");
warn.put(am,"ab");
Set keys = warn.keySet();
Iterator iterator = keys.interator();
while(iterator.hasNext())
{
TreeMap <String,String> key = (TreeMap <String,String>)iterator.next();
String value=warn.get(key);
System.out.println(value);
}
public String cStateEstimateFun(String thermalplant,HashMap<String, ArrayList<HashMap<String, SourcedataBean>>> datamap) {
List<StmCcFunBean> stmlistfuns =this.getAllStmTurbNHFuns(thermalplant);
List<BoilerDataBean> boilerlist =this.getAllBoilerValues(thermalplant);
Set<Entry<String, ArrayList<HashMap<String, SourcedataBean>>>> set=datamap.entrySet();
Iterator<Entry<String, ArrayList<HashMap<String, SourcedataBean>>>> it=set.iterator();
while(it.hasNext()){
Entry<String, ArrayList<HashMap<String, SourcedataBean>>> entry=it.next();
String rltime=entry.getKey();
ArrayList<HashMap<String, SourcedataBean>> list=entry.getValue();
for(int i=0;i<list.size();i++){
HashMap<String, SourcedataBean> mapp=list.get(i);
Set<Entry<String, SourcedataBean>> sett=mapp.entrySet();
Iterator<Entry<String, SourcedataBean>> itt=sett.iterator();
while(itt.hasNext()){
Entry<String, SourcedataBean> entry1=itt.next();
String psrname=entry1.getKey();
SourcedataBean sdb=entry1.getValue();
for(BoilerDataBean bdb : boilerlist){
if(bdb.getPk_psr().equals(sdb.getBpk_psr())){
}
}
}
}
}
return null;
}
}
自己刚写的 你看看吧