ArrayList<Station>
の古いオブジェクトを の更新されたオブジェクトに置き換える必要がありますTreeMap<Integer, ArrayList<Station>>
。
TreeMap> の 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 で更新する必要があります。