Java中对于代码中一些有效方法编写的记录

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);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值