我需要使用ArrayList<Station>
中的更新对象替换TreeMap<Integer, ArrayList<Station>>
中过时的对象。
TreeMap的&GT;只有ArrayList中的一部分Station对象。
任何人都知道如何快速顺利地完成这项工作?我的应用程序是时间敏感的,它处理它的速度越快,因为它处理的数据量越大。
如果有任何帮助,我可以在这里发布我的代码
修改
以下是代码:
public ArrayList<Station> smoothPingPong(ArrayList<Station> dados){
ArrayList<Station> pingPongs = new ArrayList<>();
TreeMap<Integer, ArrayList<Station>> tmap = new TreeMap<>();
int tmap_key = 0;
for(int i = 0; i<dados.size(); i++) {
if(dados.get(i).getPingPong() == 1) {
pingPongs.add(dados.get(i));
}
}
ArrayList<Station> next = new ArrayList<Station>();
for(Station d : pingPongs) {
if(!next.isEmpty() && next.get(next.size() - 1).getId() != d.getId() - 1) {
tmap.put(tmap_key++, next);
next = new ArrayList<Station>();
}
next.add(d);
}
if(!next.isEmpty()) {
tmap.put(tmap_key++, next);
}
for(Integer a : tmap.keySet()){
//Processes the treemap updating it
}
}
现在我需要回到ArrayList dados中的Stations并使用TreeMap上的Stations更新它。
答案 0 :(得分:1)
由于您没有创建新的Station Objects,因此您无需更新任何内容,工作站对象在您的所有集合中共享相同的引用。
在这种情况下,您只是返回了Station Collection的一个子集,但对象本身是相同的。