List<RiskForecastDTO>关于list的map类型数据的去重

问题:根据map中的某个字段进行去重
数据如下


[
    {
        "fNum":"330727FF0192",
        "groupTime":"2022-06-29T19:00:00+08:00",
        "hour1":39,
        "hour3":45.5,
        "hour6":45.5,
        "hour12":45.5,
        "hour24":45.5,
        "level":3,
        "tag":1
    },
    {
        "fNum":"330727FF0047",
        "groupTime":"2022-03-14T20:00:00+08:00",
        "hour1":45,
        "hour3":45,
        "hour6":45,
        "hour12":45,
        "hour24":45,
        "level":2,
        "tag":1
    },
    {
        "fNum":"330727FF0047",
        "groupTime":"2022-03-14T21:00:00+08:00",
        "hour1":26.5,
        "hour3":71.5,
        "hour6":71.5,
        "hour12":71.5,
        "hour24":71.5,
        "level":3,
        "tag":1
    },
    {
        "fNum":"330727FF0047",
        "groupTime":"2022-03-14T22:00:00+08:00",
        "hour1":8.5,
        "hour3":80,
        "hour6":80,
        "hour12":80,
        "hour24":80,
        "level":2,
        "tag":1
    }
]


为"fNum":"330727FF0047"的dto数据进行去重

package com.shucha.deveiface.biz.test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.sdy.mvc.utils.JsonUtil;
import com.shucha.deveiface.biz.dto.RiskForecastDTO;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;

/**
 * @author tqf
 * @Description
 * @Version 1.0
 * @since 2022-07-06 16:37
 */
public class RiskForecastTest {
    public static void main(String[] args) {
        String data = "[{\"fNum\":\"330727FF0192\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":39,\"hour3\":45.5,\"hour6\":45.5,\"hour12\":45.5,\"hour24\":45.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0047\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0047\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26.5,\"hour3\":71.5,\"hour6\":71.5,\"hour12\":71.5,\"hour24\":71.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0047\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":8.5,\"hour3\":80,\"hour6\":80,\"hour12\":80,\"hour24\":80,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0047\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1.5,\"hour3\":36.5,\"hour6\":81.5,\"hour12\":81.5,\"hour24\":81.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0047\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":1,\"hour3\":11,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0047\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0049\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0049\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26.5,\"hour3\":71.5,\"hour6\":71.5,\"hour12\":71.5,\"hour24\":71.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0049\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":8.5,\"hour3\":80,\"hour6\":80,\"hour12\":80,\"hour24\":80,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0049\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1.5,\"hour3\":36.5,\"hour6\":81.5,\"hour12\":81.5,\"hour24\":81.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0049\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":1,\"hour3\":11,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0049\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0057\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0057\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26.5,\"hour3\":71.5,\"hour6\":71.5,\"hour12\":71.5,\"hour24\":71.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0057\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":8.5,\"hour3\":80,\"hour6\":80,\"hour12\":80,\"hour24\":80,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0057\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1.5,\"hour3\":36.5,\"hour6\":81.5,\"hour12\":81.5,\"hour24\":81.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0057\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":1,\"hour3\":11,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0057\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0085\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":40.5,\"hour3\":41,\"hour6\":41,\"hour12\":41,\"hour24\":41,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0085\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":17.9,\"hour3\":58.9,\"hour6\":58.9,\"hour12\":58.9,\"hour24\":58.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0085\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":11,\"hour3\":69.4,\"hour6\":69.9,\"hour12\":69.9,\"hour24\":69.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0087\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0087\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26.5,\"hour3\":71.5,\"hour6\":71.5,\"hour12\":71.5,\"hour24\":71.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0087\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":8.5,\"hour3\":80,\"hour6\":80,\"hour12\":80,\"hour24\":80,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0087\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1.5,\"hour3\":36.5,\"hour6\":81.5,\"hour12\":81.5,\"hour24\":81.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0087\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":1,\"hour3\":11,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0087\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0089\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0089\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26.5,\"hour3\":71.5,\"hour6\":71.5,\"hour12\":71.5,\"hour24\":71.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0089\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":8.5,\"hour3\":80,\"hour6\":80,\"hour12\":80,\"hour24\":80,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0089\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1.5,\"hour3\":36.5,\"hour6\":81.5,\"hour12\":81.5,\"hour24\":81.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0089\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":1,\"hour3\":11,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0089\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0090\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0090\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26.5,\"hour3\":71.5,\"hour6\":71.5,\"hour12\":71.5,\"hour24\":71.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0090\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":8.5,\"hour3\":80,\"hour6\":80,\"hour12\":80,\"hour24\":80,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0090\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1.5,\"hour3\":36.5,\"hour6\":81.5,\"hour12\":81.5,\"hour24\":81.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0090\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":1,\"hour3\":11,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0090\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0151\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0151\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26.5,\"hour3\":71.5,\"hour6\":71.5,\"hour12\":71.5,\"hour24\":71.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0151\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":8.5,\"hour3\":80,\"hour6\":80,\"hour12\":80,\"hour24\":80,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0151\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1.5,\"hour3\":36.5,\"hour6\":81.5,\"hour12\":81.5,\"hour24\":81.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0151\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":1,\"hour3\":11,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0151\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":82.5,\"hour12\":82.5,\"hour24\":82.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0156\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":40.5,\"hour3\":41,\"hour6\":41,\"hour12\":41,\"hour24\":41,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0156\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":17.9,\"hour3\":58.9,\"hour6\":58.9,\"hour12\":58.9,\"hour24\":58.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0156\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":11,\"hour3\":69.4,\"hour6\":69.9,\"hour12\":69.9,\"hour24\":69.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0157\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":40.5,\"hour3\":41,\"hour6\":41,\"hour12\":41,\"hour24\":41,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0157\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":17.9,\"hour3\":58.9,\"hour6\":58.9,\"hour12\":58.9,\"hour24\":58.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0157\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":11,\"hour3\":69.4,\"hour6\":69.9,\"hour12\":69.9,\"hour24\":69.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0170\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":40.5,\"hour3\":41,\"hour6\":41,\"hour12\":41,\"hour24\":41,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0170\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":17.9,\"hour3\":58.9,\"hour6\":58.9,\"hour12\":58.9,\"hour24\":58.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0170\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":11,\"hour3\":69.4,\"hour6\":69.9,\"hour12\":69.9,\"hour24\":69.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0193\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":52,\"hour3\":55,\"hour6\":55,\"hour12\":55,\"hour24\":55,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0193\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":26,\"hour3\":81,\"hour6\":81,\"hour12\":81,\"hour24\":81,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0193\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":6.5,\"hour3\":84.5,\"hour6\":87.5,\"hour12\":87.5,\"hour24\":87.5,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0193\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":1,\"hour3\":33.5,\"hour6\":88.5,\"hour12\":88.5,\"hour24\":88.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0193\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":0.5,\"hour3\":8,\"hour6\":89,\"hour12\":89,\"hour24\":89,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0193\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":1.5,\"hour6\":86,\"hour12\":89,\"hour24\":89,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0191\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":40.5,\"hour3\":41,\"hour6\":41,\"hour12\":41,\"hour24\":41,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0191\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":17.9,\"hour3\":58.9,\"hour6\":58.9,\"hour12\":58.9,\"hour24\":58.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0191\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":11,\"hour3\":69.4,\"hour6\":69.9,\"hour12\":69.9,\"hour24\":69.9,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0194\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":6.5,\"hour3\":59,\"hour6\":59,\"hour12\":59,\"hour24\":59,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0195\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":6.5,\"hour3\":59,\"hour6\":59,\"hour12\":59,\"hour24\":59,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0042\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":41.5,\"hour3\":41.5,\"hour6\":41.5,\"hour12\":41.5,\"hour24\":41.5,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0042\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":3.5,\"hour3\":58,\"hour6\":58,\"hour12\":58,\"hour24\":58,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0107\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":41.5,\"hour3\":41.5,\"hour6\":41.5,\"hour12\":41.5,\"hour24\":41.5,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0107\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":3.5,\"hour3\":58,\"hour6\":58,\"hour12\":58,\"hour24\":58,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0008\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":32.5,\"hour3\":34,\"hour6\":34,\"hour12\":34,\"hour24\":34,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0008\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":27,\"hour3\":61,\"hour6\":61,\"hour12\":61,\"hour24\":61,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0008\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":12,\"hour3\":71.5,\"hour6\":73,\"hour12\":73,\"hour24\":73,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0009\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":32.5,\"hour3\":34,\"hour6\":34,\"hour12\":34,\"hour24\":34,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0009\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":27,\"hour3\":61,\"hour6\":61,\"hour12\":61,\"hour24\":61,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0009\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":12,\"hour3\":71.5,\"hour6\":73,\"hour12\":73,\"hour24\":73,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0120\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":32.5,\"hour3\":34,\"hour6\":34,\"hour12\":34,\"hour24\":34,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0120\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":27,\"hour3\":61,\"hour6\":61,\"hour12\":61,\"hour24\":61,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0120\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":12,\"hour3\":71.5,\"hour6\":73,\"hour12\":73,\"hour24\":73,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0142\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":32.5,\"hour3\":34,\"hour6\":34,\"hour12\":34,\"hour24\":34,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0142\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":27,\"hour3\":61,\"hour6\":61,\"hour12\":61,\"hour24\":61,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0142\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":12,\"hour3\":71.5,\"hour6\":73,\"hour12\":73,\"hour24\":73,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0144\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":32.5,\"hour3\":34,\"hour6\":34,\"hour12\":34,\"hour24\":34,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0144\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":27,\"hour3\":61,\"hour6\":61,\"hour12\":61,\"hour24\":61,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0144\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":12,\"hour3\":71.5,\"hour6\":73,\"hour12\":73,\"hour24\":73,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0145\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":32.5,\"hour3\":34,\"hour6\":34,\"hour12\":34,\"hour24\":34,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0145\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":27,\"hour3\":61,\"hour6\":61,\"hour12\":61,\"hour24\":61,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0145\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":12,\"hour3\":71.5,\"hour6\":73,\"hour12\":73,\"hour24\":73,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0150\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":45,\"hour3\":45,\"hour6\":45,\"hour12\":45,\"hour24\":45,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0150\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":15,\"hour3\":60,\"hour6\":60,\"hour12\":60,\"hour24\":60,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0150\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":10,\"hour3\":70,\"hour6\":70,\"hour12\":70,\"hour24\":70,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0118\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0166\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0220\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0224\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0225\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0226\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0231\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0233\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":31.5,\"hour3\":31.5,\"hour6\":31.5,\"hour12\":31.5,\"hour24\":31.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0040\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":34.5,\"hour3\":34.5,\"hour6\":34.5,\"hour12\":34.5,\"hour24\":34.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0138\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":40.5,\"hour3\":40.5,\"hour6\":40.5,\"hour12\":40.5,\"hour24\":40.5,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0139\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":40.5,\"hour3\":40.5,\"hour6\":40.5,\"hour12\":40.5,\"hour24\":40.5,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0140\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":34.5,\"hour3\":34.5,\"hour6\":34.5,\"hour12\":34.5,\"hour24\":34.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0060\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":54,\"hour3\":54,\"hour6\":54,\"hour12\":54,\"hour24\":54,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0060\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":18.5,\"hour3\":72.5,\"hour6\":72.5,\"hour12\":72.5,\"hour24\":72.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0060\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":9.5,\"hour3\":82,\"hour6\":82,\"hour12\":82,\"hour24\":82,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0060\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":2,\"hour3\":30,\"hour6\":84,\"hour12\":84,\"hour24\":84,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0060\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":0.5,\"hour3\":12,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0060\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0115\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":54,\"hour3\":54,\"hour6\":54,\"hour12\":54,\"hour24\":54,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0115\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":18.5,\"hour3\":72.5,\"hour6\":72.5,\"hour12\":72.5,\"hour24\":72.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0115\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":9.5,\"hour3\":82,\"hour6\":82,\"hour12\":82,\"hour24\":82,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0115\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":2,\"hour3\":30,\"hour6\":84,\"hour12\":84,\"hour24\":84,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0115\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":0.5,\"hour3\":12,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0115\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0148\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":54,\"hour3\":54,\"hour6\":54,\"hour12\":54,\"hour24\":54,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0148\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":18.5,\"hour3\":72.5,\"hour6\":72.5,\"hour12\":72.5,\"hour24\":72.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0148\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":9.5,\"hour3\":82,\"hour6\":82,\"hour12\":82,\"hour24\":82,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0148\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":2,\"hour3\":30,\"hour6\":84,\"hour12\":84,\"hour24\":84,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0148\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":0.5,\"hour3\":12,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0148\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0149\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":54,\"hour3\":54,\"hour6\":54,\"hour12\":54,\"hour24\":54,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0149\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":18.5,\"hour3\":72.5,\"hour6\":72.5,\"hour12\":72.5,\"hour24\":72.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0149\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":9.5,\"hour3\":82,\"hour6\":82,\"hour12\":82,\"hour24\":82,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0149\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":2,\"hour3\":30,\"hour6\":84,\"hour12\":84,\"hour24\":84,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0149\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":0.5,\"hour3\":12,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0149\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0171\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":54,\"hour3\":54,\"hour6\":54,\"hour12\":54,\"hour24\":54,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0171\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":18.5,\"hour3\":72.5,\"hour6\":72.5,\"hour12\":72.5,\"hour24\":72.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0171\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":9.5,\"hour3\":82,\"hour6\":82,\"hour12\":82,\"hour24\":82,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0171\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":2,\"hour3\":30,\"hour6\":84,\"hour12\":84,\"hour24\":84,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0171\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":0.5,\"hour3\":12,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0171\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0172\",\"groupTime\":\"2022-03-14T20:00:00+08:00\",\"hour1\":54,\"hour3\":54,\"hour6\":54,\"hour12\":54,\"hour24\":54,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0172\",\"groupTime\":\"2022-03-14T21:00:00+08:00\",\"hour1\":18.5,\"hour3\":72.5,\"hour6\":72.5,\"hour12\":72.5,\"hour24\":72.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0172\",\"groupTime\":\"2022-03-14T22:00:00+08:00\",\"hour1\":9.5,\"hour3\":82,\"hour6\":82,\"hour12\":82,\"hour24\":82,\"level\":2,\"tag\":1},{\"fNum\":\"330727FF0172\",\"groupTime\":\"2022-03-14T23:00:00+08:00\",\"hour1\":2,\"hour3\":30,\"hour6\":84,\"hour12\":84,\"hour24\":84,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0172\",\"groupTime\":\"2022-03-15T00:00:00+08:00\",\"hour1\":0.5,\"hour3\":12,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0172\",\"groupTime\":\"2022-03-15T01:00:00+08:00\",\"hour1\":0,\"hour3\":2.5,\"hour6\":84.5,\"hour12\":84.5,\"hour24\":84.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0015\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":39,\"hour3\":45.5,\"hour6\":45.5,\"hour12\":45.5,\"hour24\":45.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0017\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":52.5,\"hour3\":56.5,\"hour6\":56.5,\"hour12\":56.5,\"hour24\":56.5,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0017\",\"groupTime\":\"2022-06-29T20:00:00+08:00\",\"hour1\":1,\"hour3\":57.5,\"hour6\":57.5,\"hour12\":57.5,\"hour24\":57.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0024\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":52.5,\"hour3\":56.5,\"hour6\":56.5,\"hour12\":56.5,\"hour24\":56.5,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0024\",\"groupTime\":\"2022-06-29T20:00:00+08:00\",\"hour1\":1,\"hour3\":57.5,\"hour6\":57.5,\"hour12\":57.5,\"hour24\":57.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0022\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":39,\"hour3\":45.5,\"hour6\":45.5,\"hour12\":45.5,\"hour24\":45.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0045\",\"groupTime\":\"2022-06-29T18:00:00+08:00\",\"hour1\":31,\"hour3\":31,\"hour6\":31,\"hour12\":31,\"hour24\":31,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0075\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":39,\"hour3\":45.5,\"hour6\":45.5,\"hour12\":45.5,\"hour24\":45.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0112\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":52.5,\"hour3\":56.5,\"hour6\":56.5,\"hour12\":56.5,\"hour24\":56.5,\"level\":1,\"tag\":1},{\"fNum\":\"330727FF0112\",\"groupTime\":\"2022-06-29T20:00:00+08:00\",\"hour1\":1,\"hour3\":57.5,\"hour6\":57.5,\"hour12\":57.5,\"hour24\":57.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0124\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":39,\"hour3\":45.5,\"hour6\":45.5,\"hour12\":45.5,\"hour24\":45.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0188\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":40,\"hour3\":48.5,\"hour6\":48.5,\"hour12\":48.5,\"hour24\":48.5,\"level\":3,\"tag\":1},{\"fNum\":\"330727FF0241\",\"groupTime\":\"2022-06-29T19:00:00+08:00\",\"hour1\":39,\"hour3\":45.5,\"hour6\":45.5,\"hour12\":45.5,\"hour24\":45.5,\"level\":3,\"tag\":1}]";
        List<RiskForecastDTO> list = JSONArray.parseArray(data,RiskForecastDTO.class);
        // 第一种去重
        test(list);

        // 第二种去重
        if(list.size() >0) {
            // 去重
            list = list.stream().filter(distinctByKey(p -> p.getFNum()))
                    .collect(Collectors.toList());
        }
        System.out.println(JsonUtil.toJson(list));

    }

    /**
     * 根据指定字段去重
     * @param keyExtractor
     * @param <T>
     * @return
     */
    private static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
        ConcurrentHashMap<Object, Boolean> map = new ConcurrentHashMap<>();
        return t -> map.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
    }

    /**
     * 第一种方式去重-根据指定字段
     * @param list
     */
    public static void test(List<RiskForecastDTO> list){
        ArrayList<RiskForecastDTO> collect = list.stream().collect(Collectors.collectingAndThen(
                Collectors.toCollection(() -> new TreeSet<>(
                        Comparator.comparing(
                                RiskForecastDTO::getFNum))), ArrayList::new));
        System.out.println(JsonUtil.toJson(collect));
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值