java的时间变化_通过java记录数据持续变化时间代码解析
這篇文章主要介紹了通過java記錄數(shù)據(jù)持續(xù)變化時間代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
1.需求:獲取count為null和不為null的持續(xù)變化
[{count=0, time=0},
{count=10, time=1000},
{count=20, time=2000},
{count=30, time=3000},
{count=40, time=4000},
{count=null, time=5000},
{count=null, time=6000},
{count=null, time=7000},
{count=null, time=8000},
{count=null, time=9000},
{count=100, time=10000},
{count=110, time=11000},
{count=120, time=12000},
{count=130, time=13000},
{count=140, time=14000}]
2.代碼如下:
package com.stop;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* static boolean temp_flag; // 記錄容器
public void execute(boolean flag) {
if (temp_flag == flag) {
// 沒有變化
} else {
if (flag == false) {
// 上次是true,本次是false
} else {
// 上次是false本次是true
}
}
}
*/
public class Test {
public static List> buildList() {
List> items = new ArrayList<>();
for(int i=0;i<5;i++) {
Map map = new HashMap<>();
map.put("time", i*1000);
map.put("count", i*10);
items.add(map);
}
for(int i=5;i<10;i++) {
Map map = new HashMap<>();
map.put("time", i*1000);
map.put("count", null);
items.add(map);
}
for(int i=10;i<15;i++) {
Map map = new HashMap<>();
map.put("time", i*1000);
map.put("count", i*10);
items.add(map);
}
return items;
}
public static void main(String[] args) {
// 構造數(shù)據(jù)
List> items = buildList();
List> list = new ArrayList<>();
boolean isStop = false;// 記錄容器
for (int i = 0; i < items.size(); i++) {
boolean flag = items.get(i).get("count") == null;
if (i == 0) {
Map map = new HashMap<>();
if (flag) {
map.put("stop", items.get(i).get("time"));
isStop = true;
} else {
map.put("recover", items.get(i).get("time"));
}
list.add(map);
continue;
}
if (isStop == flag) {
// 沒有變化
} else {
isStop = flag;
Map map = new HashMap<>();
if (!flag) {
// 上次是true,本次是false
map.put("recover", items.get(i).get("time"));
} else {
// 上次是false本次是true
map.put("stop", items.get(i).get("time"));
}
list.add(map);
}
}
System.out.println(list);
}
}
3.運行main方法結果
[{recover=0}, {stop=5000}, {recover=10000}]
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
總結
以上是生活随笔為你收集整理的java的时间变化_通过java记录数据持续变化时间代码解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 女生身体不适没给大爷让座遭怒骂 互拍互怼
- 下一篇: 爸妈约会儿子弹钢琴伴奏 一块钱就能打发儿