1、反转标志位
Boolean flag = false;
flag = !flag;
// 输出:true
System.out.println(flag);
2、循环定时后退出
long t1 = System.currentTimeMillis();
while (true) {
long t2 = System.currentTimeMillis();
if (t2 - t1 > 3 * 1000) {
// 输出:3001
System.out.println("耗时时间---" + (t2 - t1));
break;
} else {
//TODO your work
break;
}
}
3、二维List求平均值
package com.xiaolun;
import org.apache.commons.lang.ArrayUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @time: 2021-01-24 17:27
* @description: 测试
*/
public class test04 {
public static void main(String[] args) {
// 定义一个二维List
List<List<Double>> points = new ArrayList<>();
List<Double> averageList = new ArrayList<>();
List<Double> Temp1 = new ArrayList<>();
List<Double> Temp2 = new ArrayList<>();
List<Double> Temp3 = new ArrayList<>();
for (int i = 1; i <= 2; i++) {
Temp1.add(Double.valueOf(i));
Temp2.add(Double.valueOf(i + 2));
Temp3.add(Double.valueOf(i + 4));
}
// 形成一个二维矩阵
points.add(Temp1);
points.add(Temp2);
points.add(Temp3);
points.get(0).size();
//求平均值 将二维List中一维List数据的长度(points.get(0).size())作为大循环
for (int i = 0; i < points.get(0).size(); i++) {
//使用BigDecimal类型精确求小数的和
BigDecimal sum = new BigDecimal("0.0");
// 将二维List中包含一维list的个数作为小循环
for (int k = 0; k < points.size(); k++) {
BigDecimal innerListVal = new BigDecimal(Double.toString(points.get(k).get(i)));
sum = sum.add(innerListVal);
}
BigDecimal tagNumBigDecimal = new BigDecimal(points.size());
// 四舍五入并保留4位小数。
sum = sum.divide(tagNumBigDecimal, 4, BigDecimal.ROUND_HALF_UP);
// 转换成double类型数据并存储
averageList.add(sum.doubleValue());
}
// 输出结果:
//Temp1---[1.0, 2.0]
//Temp1---[3.0, 4.0]
//Temp1---[5.0, 6.0]
//对应位置上的平均值---[3.0, 4.0]
System.out.println("Temp1---" + ArrayUtils.toString(Temp1));
System.out.println("Temp1---" + ArrayUtils.toString(Temp2));
System.out.println("Temp1---" + ArrayUtils.toString(Temp3));
System.out.println("对应位置上的平均值---" + ArrayUtils.toString(averageList));
}
}
4、JSONArray和JSONObject的使用
package com.xiaolun;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* @time: 2021-01-24 17:50
* @description: test
*/
public class test05 {
public static void main(String[] args) {
JSONObject dataObject = new JSONObject();
JSONArray valueArray = new JSONArray();
String test01 = "xiaolun";
valueArray.add(test01);
// 以JSONArray形式存入到JSONObject中
dataObject.put("name", valueArray);
dataObject.put("age", 12);
dataObject.put("sex", "male");
// 新值会覆盖原来的值
dataObject.put("sex", "female");
dataObject.values().forEach(item -> {
//输出:
//female
//["xiaolun"]
//12
System.out.println(item);
});
// key = "name" 对应的数据是JSONArray类型的
JSONArray valuesArray = dataObject.getJSONArray("name");
// 输出:["xiaolun"]
System.out.println(valuesArray);
}
}