识别一段时间内的趋势(Java)

时间:2014-04-12 21:52:10

标签: java twitter

我正在构建一个跟踪Twitter上的主题标签的应用程序。

每次针对我正在观看的主题标签发布推文时,我的应用都会在ArrayList<Long>中添加推文的时间戳,并将其记录到CSV文件中。

我正在试图找出一种方法来确定我所关注的其中一个主题标签何时爆炸,&#34;所以我可以发送警报我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

不了解您的应用程序,我要说您要做的是跟踪每个特定主题标签的rate或一段时间内的使用情况。我要做的是每当记录一个hashtag时,你会在HashMap中增加它的值。 (Hehe,HashTag,HashMap?不?好的......)如果主题标签的值超过某个阈值,则发送警报。无论您选择什么,每分钟,每小时或每天,您都会重置整个HashMap

这样的事情:

HashMap<String, Integer> tagrate = new HashMap<String, Integer>();
public final int THRESHOLD = 10000; //is ten thousand tags in one hour a lot? I don't use twitter...

public void logHashTag(String name){
    log(name); //your original logging mechanism
    int current = tagrate.get(name);
    tagrate.put(name, current + 1); //increment
    if (current > THRESHOLD){
        alert(name);
    }
}
public void resetTable(){ //call this every hour (or minute or whatever)
    tagrate = new HashMap<String, Integer>();
}

选择时间段,由您决定。较短的时间段将更具体,但更长的时间段可能更好的性能。例如,如果您每秒重置一次表,那么对您的应用程序来说会非常糟糕。