class的treemap作为另一个treemap的值

时间:2012-03-30 10:56:03

标签: java time treemap

    Class Record{
     static long start_nanoTime=System.nanotime();
     public static void recording(Message message) {
       Calendar c1=Calendar.getInstance();
       int  year=c1.get(Calendar.YEAR);
       int  month=c1.get(Calendar.MONTH);
       int  day=c1.get(Calendar.DAY_OF_MONTH);
       int  hour=c1.get(Calendar.HOUR_OF_DAY);
       int  min=c1.get(Calendar.MINUTE);
       GregorianCalendar gc = new GregorianCalendar(year, month, day, hour, min);
       Date d=gc.getTime();
       long timestamp=(d.getTime())/60000;//precision till minute
       Map<Long,StoreMessage> map1=new TreeMap<Long,StoreMessage>();      
       long precise_time=TimeUnit.MIllISECONDS.toNanos(System.currentTimeMillis())+(System.nanoTime-start_nanotime);
      map1.put(timestamp, new StoreMessage(precise_time,message));
  }
}

上面的类试图在的树形图中存储消息类的对象及其创建时间(类StoreMessage 的树形图) >类记录作为时间戳键的值,精度为分钟。

Class StoreMessage{
 public StoreMessage(long time, Message message){
 Map<Long,Message> map2=new TreeMap<Long,Message>();
 map2.put(time,message);
 }
}

如果这是必需的方法,此代码是否有效? 此外,如果在经过的每一分钟之后(根据时间戳),我必须将 map1 序列化为 byte [] ,因为 ObjectOutputStream ,我该怎么做呢?如果我必须使用 exact_time 保持每个连续消息到达之间的时间差,我该怎么做?

0 个答案:

没有答案