Java 如何转换列表<;地图<;长字符串>;是树形图还是地图?
如何将列表Java 如何转换列表<;地图<;长字符串>;是树形图还是地图?,java,list,dictionary,merge,Java,List,Dictionary,Merge,如何将列表转换为TreeMap TreeMap<String,Long> tm1=new TreeMap<String, Long>(); List<Map.Entry<String,Long>> first = new ArrayList<Map.Entry<String,Long>>(tm1.entrySet()); //Convert list back to TreeMap
TreeMap<String,Long> tm1=new TreeMap<String, Long>();
List<Map.Entry<String,Long>> first = new ArrayList<Map.Entry<String,Long>>(tm1.entrySet());
//Convert list back to TreeMap
??
TreeMap tm1=newtreemap();
List first=newarraylist(tm1.entrySet());
//将列表转换回树映射
??
我不能使用Java 8,因为该程序在Amazon Web Services中的Hadoop程序中运行,该程序只支持Java 1.7。迭代列表并添加到树映射。例如
for (Map.Entry<String, Long> entry : first) {
tm1.put(entry.getKey(), entry.getValue());
}
for(Map.Entry:first){
put(entry.getKey(),entry.getValue());
}
遍历列表,将每个元素存储在树形图上。这不难。你试过什么吗?没有比这更有效的方法了吗?我认为没有比这更有效的方法了。我找不到从map.Entry
对象集合构建地图的内置方法。如果有,它可能只是在列表上迭代并添加所有内容,因此它的效率不会提高很多。(我认为提高效率的唯一方法是从TreeSet
开始,它不是一个列表。但是对于一般列表,我想不出一个算法会更有效。)如果使用Java 7,请使用钻石。在变量类型中写入完整的泛型类型,但在初始化时,让编译器推断它。