System millisに基づいて時間が格納されたクラスを含むサイズNのarrayListがあります。私は全体のarrayListを通過し、1時間のチャンクに分割したい。過去24時間、今から24時間前に戻ることができます。しかし、最後の24時間のウィンドウから落ちるアイテムがあるかもしれません。含まれている長い "curTime"クラスフィールドに基づいてNのリストを24時間に分割します。
私はSOに関するアルゴリズムの質問をしているとは思えません。助けてくれてありがとう。
大ArrayListのは、基本的には、この項目で構成されています
public class Item {
private long date;
private long otherData;
}
私が使用してアイテムの日付を保存しています:
System.currentTimeMillis()
を繰り返しますが、私は、ArrayListのを分割したいですのアイテムを、保存時にcurrentTimeMillis()を使用した「保存日」に基づいて、アイテムの24個の個別の配列リストに追加します。
最初の/最新の/最新のバケットが正確に次の時間のマークで終了し、その後1時間ごとに終了した場合でも、よりクールです。言い換えれば、私が午後7時25分にリクエストを行うと、最初のアイテム "バケツ"には過去25分間に保存されたエントリのみが含まれていると素晴らしいでしょう。その後、次の23インチの「バケツのバケット」が1時間(6:00 PM、5:00 PM ...)に分解されました。
もう一度おねがいします。