【日常开发】 java返回ECharts数据结构封装
java返回ECharts数据结构封装
一、前端页面示例图如下:
二、准备测试数据:
三、后端 格式封装代码:
四、最终结果:
| 🎈边走、边悟🎈迟早会好 |
一、前端页面示例图如下:

二、准备测试数据:
1.定义实体类:
import java.util.*;
import java.util.stream.Collectors;public class Item {private String a;private double b;private double c;public Item(String a, double b, double c) {this.a = a;this.b = b;this.c = c;}public String getA() {return a;}public double getB() {return b;}public double getC() {return c;}@Overridepublic String toString() {return "Item{" +"a='" + a + '\'' +", b=" + b +", c=" + c +'}';}
}
2.准备测试数据:
// 创建测试数据List<Item> items = Arrays.asList(new Item("Mon", 120, 10),new Item("Tue", 200, 20),new Item("Wed", 150, 30),new Item("Thu", 80, 40),new Item("Fri", 70, 50),new Item("Sat", 110, 60),new Item("Sun", 130, 70),new Item("Mon", 120, 10),new Item("Tue", 200, 20)
三、后端 格式封装代码:
// 根据a字段进行分组并计算b和c字段的和Map<String, double[]> groupedData = items.stream().collect(Collectors.groupingBy(Item::getA, Collectors.reducing(new double[2], item -> new double[]{item.getB(), item.getC()}, (a, b) -> new double[]{a[0] + b[0], a[1] + b[1]})));// 准备ECharts所需的数据格式String[] xAxisData = groupedData.keySet().toArray(new String[0]);double[] seriesBData = groupedData.values().stream().mapToDouble(v -> v[0]).toArray();double[] seriesCData = groupedData.values().stream().mapToDouble(v -> v[1]).toArray();
四、代码说明
-
定义
Item类:- 包含数据字段
a、b和c,以及对应的构造函数和 getter 方法。
- 包含数据字段
-
分组并计算
b和c字段的和:- 使用
StreamAPI 和Collectors.groupingBy方法根据a字段进行分组。 - 使用
Collectors.reducing方法来计算每组中b和c字段的和。
- 使用
-
准备 ECharts 所需的数据格式:
- 从分组数据中提取 x 轴数据 (
xAxisData)、b字段和c字段的和 (seriesBData和seriesCData)。 - 随后 new 个HashMap将三个数组put到map中返回即可:
- 从分组数据中提取 x 轴数据 (
五、最终结果:

🌟感谢支持 听忆.-CSDN博客

| 🎈众口难调🎈从心就好 |
相关文章:
【日常开发】 java返回ECharts数据结构封装
java返回ECharts数据结构封装 一、前端页面示例图如下: 二、准备测试数据: 三、后端 格式封装代码: 四、最终结果: 🎈边走、边悟🎈迟早会好 一、前端页面示例图如下: 二、准备测试数据&am…...
Table表格控件实现单选功能
Table表格控件实现单选功能 <el-tableref"tableRef"height"385"style"--el-table-border-color: none"row-key"contractId"highlight-current-rowsingle-selectselect"handleSelect":data"contractInfo">&l…...
AI技术加速落地 港科广联手思谋打开智能缺陷检测新纪元
AI 技术应用落地的元年,工业是主战场,尤其是工业缺陷检测。 在“生产制造-缺陷检测-工艺优化-生产制造”的智能制造闭环链条中,基于AI的智能缺陷检测扮演着“把关者”的角色。但这个把关者长期以来却缺少一个称手的工具——样本量大、精度高…...
Python爬虫开发:BeautifulSoup、Scrapy入门
在现代网络开发中,网络爬虫是一个非常重要的工具。它可以自动化地从网页中提取数据,并且可以用于各种用途,如数据收集、信息聚合和内容监控等。在Python中,有多个库可以用于爬虫开发,其中BeautifulSoup和Scrapy是两个非…...
数据科学、数据分析、人工智能必备知识汇总-----常用数据分析方法-----持续更新
数据科学、数据分析、人工智能必备知识汇总-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/140174015 文章目录 一、对比分析法1. 按时间和地区2. 同比和环比 二、分组分析法三、结构分析法四、交叉分析法五、矩阵分…...
学习vue Router 一 起步,编程式导航,历史记录,路由传参
目录 起步,安装 1. 安装 2. 使用 命名路由 编程式导航 1. 字符串模式 2. 对象模式 3. 命名路由模式 历史记录 replace的使用 横跨历史 路由传参 1. query路由传参 2. 动态路由传参 3. 二者的区别 起步,安装 router 路由 因为vue是单页应用…...
Qt/C++最新地图组件发布/历时半年重构/同时支持各种地图内核/包括百度高德腾讯天地图
一、前言说明 最近花了半年时间,专门重构了整个地图组件,之前写的比较粗糙,有点为了完成功能而做的,没有考虑太多拓展性和易用性。这套地图自检这几年大量的实际项目和用户使用下来,反馈了不少很好的建议和意见&#…...
Laravel + Thinkphp 生成二维码
安装依赖 composer require endroid/qr-code 编写ThinkPhP代码 public function index() {// 创建二维码内容$qrCode new QrCode(Hello World);// 设置二维码的配置$qrCode->setSize(300);$qrCode->setMargin(10);// 获取二维码图像$writer new PngWriter();$result…...
2408C++,C++20的无侵入式反射
原文 C17基于结构绑定的编译期反射 事实上不需要宏的编译期反射在C17中已用得很多了,比如struct_pack的编译期反射就不需要宏,因为C17结构绑定可直接得到一个聚集类的成员的引用. struct person {int id;std::string name;int age; }; int main() {person p{1, "tom&qu…...
抽象工厂模式(Abstract factory pattern)- python实现
抽象工厂模式的通俗示例 想象一下,你正在经营一家家具店,你需要从不同的供应商那里采购不同的家具系列。有的供应商提供的是现代风格家具,包括现代沙发、现代椅子和现代桌子;而有的供应商提供的是古典风格家具,包括古…...
adb Connection reset by peer的解决方法
本文同步发于:https://www.cnblogs.com/yeshen-org/p/18350232 最近在编译一个老项目,项目中依赖了很多第三方库,用gradle编译要20-30分钟,而且内存开销很大。 公司配的15G内存的电脑,一次编译能用到14G。 编译的时候&…...
111111111
1111111111111111111...
搜维尔科技:Varjo XR-4使用UE5 打造最具沉浸感的混合现实环境
Varjo XR-4使用UE5打造最具沉浸感的混合现实环境 搜维尔科技:Varjo XR-4使用UE5 打造最具沉浸感的混合现实环境...
从分散到集中:TSINGSEE青犀EasyCVR视频汇聚网关在视频整体监控解决方案中的整合作用
边缘计算视频汇聚网关是基于开放式、大融合、全兼容、标准化的设计架构理念,依据《安全防范视频监控联网系统信息传输、交换、控制技术要求》(GB/T28181-2011)标准开发,集流媒体转发、视频编码、视频管理、标准通信协议、网络穿透…...
React学习-jsx语法
jsx语法,浏览器不认识,需要经过babel编译 https://babeljs.io/ 面试题:jsx的作用? 普通回答:可以在js中返回dom,经过babel编译成js认识的代码import { jsx as _jsx, jsxs as _jsxs } from "react/j…...
uniapp多图上传uni.chooseImage上传照片uni.uploadFile
uniapp多图上传uni.chooseImage上传照片uni.uploadFile 代码示例: /**上传照片 多图*/getImage() {uni.chooseImage({count: 9, //默认9sizeType: [original, compressed], //可以指定是原图还是压缩图,默认二者都有sourceType: [album], //从相册选择/…...
鸿蒙(API 12 Beta2版)媒体开发【处理音频焦点事件】
音频打断策略 多音频并发,即多个音频流同时播放。此场景下,如果系统不加管控,会造成多个音频流混音播放,容易让用户感到嘈杂,造成不好的用户体验。为了解决这个问题,系统预设了音频打断策略,对…...
c语言第12天
指针的引入 为函数修改实参提供支持。 为动态内存管理提供支持。 为动态数据结构提供支持。 为内存访问提供另一种途径。 指针概述 内存地址:系统为了内存管理的方便,将内存划分为一个个的内存单元(1个内存单元占1个字 节)&…...
回归预测|一种多输入多输出的粒子群优化支持向量机数据回归预测Matlab程序PSO-MSVR非for循环实现 原理上进行修改多输出
回归预测|一种多输入多输出的粒子群优化支持向量机数据回归预测Matlab程序PSO-MSVR非for循环实现 原理上进行修改多输出 文章目录 前言回归预测|一种多输入多输出的粒子群优化支持向量机数据回归预测Matlab程序PSO-MSVR非for循环实现 原理上进行修改多输出 一、PSO-MSVR模型1. …...
《花100块做个摸鱼小网站! 》第二篇—后端应用搭建和完成第一个爬虫
一、前言 大家好呀,我是summo,前面已经教会大家怎么去阿里云买服务器(链接在这,需要自取:https://developer.aliyun.com/huodong/dashiblogger?userCodemtbtcjr1),以及怎么搭建JDK、Redis、My…...
笔试训练48天:拼三角(枚举/dfs)
链接:https://ac.nowcoder.com/acm/problem/219046 来源:牛客网 题目描述 给出6根棍子,能否在选出3根拼成一个三角形的同时剩下的3根也能组成一个三角形? 输入描述: 输出描述: 在一行中输出 “Yes” or “No” 示例1 输入…...
基于西门子1200PLC的六层电梯控制系统设计,含PLC程序和HMI仿真工程,适用于博途V14...
基于西门子1200PLC的六层电梯控制系统设计,含PLC程序和HMI仿真工程,适用于博途V14及以上版本 附赠IO点表、PLC接线图、主电路图和控制流程图 提供服务,确保正常运行电梯控制系统总被当作PLC入门经典案例,但真要在博途环境里实现六…...
Alibaba DASD-4B Thinking 对话工具入门:Anaconda虚拟环境配置与模型调用
Alibaba DASD-4B Thinking 对话工具入门:Anaconda虚拟环境配置与模型调用 想试试最新的对话模型,但被复杂的依赖和版本冲突搞得头大?这感觉我太懂了。很多朋友在接触像Alibaba DASD-4B这类大模型时,第一步就卡在了环境配置上&…...
Pixel Script Temple应用场景:有声书脚本生成、儿童动画分集大纲、播客故事线设计
Pixel Script Temple应用场景:有声书脚本生成、儿童动画分集大纲、播客故事线设计 1. 产品概述 Pixel Script Temple是一款基于Qwen2.5-14B-Instruct深度微调的专业剧本创作工具,将AI推理能力与8-Bit复古美学相结合,为创作者提供沉浸式的剧…...
RexUniNLU教育场景实战:学生问答意图识别+知识点槽位定位效果展示
RexUniNLU教育场景实战:学生问答意图识别知识点槽位定位效果展示 1. 引言:当AI老师遇上“十万个为什么” 想象一下这个场景:一个学生正在使用在线学习平台,他输入了一个问题:“老师,为什么三角形的内角和…...
OpenClaw技能开发入门:为Qwen3-14b_int4_awq定制PDF解析模块
OpenClaw技能开发入门:为Qwen3-14b_int4_awq定制PDF解析模块 1. 为什么需要自定义PDF解析技能 去年我在处理一批技术白皮书时,发现OpenClaw内置的文件处理能力对复杂PDF支持有限。当我想让AI助手自动提取PDF中的表格数据并生成摘要时,系统总…...
TEST文件夹:Pytest,集成测试,单元测试
在复杂的自动驾驶项目中,哪怕你只改了一行代码,都可能导致整个感知或控制系统崩溃。如果直接去训练,还会消耗大量算力。所以当你新写了一个功能(比如你改了采样逻辑),先不要急着去跑训练。先跑一下测试&…...
超越YOLO:在RGBT-Tiny上,为什么DETR和Diffusion模型对小目标检测更有效?
超越YOLO:DETR与Diffusion模型在小目标检测中的技术突破 深夜的海上搜救任务中,热成像画面里几个像素大小的落水者身影若隐若现;城市高空无人机巡检时,监控画面中88像素的违规车辆几乎与背景融为一体。这些真实场景揭示了计算机视…...
Airtest+Poco自动化测试避坑指南:从环境搭建到报告生成的10个常见问题
AirtestPoco自动化测试实战避坑指南:10个高频问题深度解析与解决方案 在移动应用和游戏自动化测试领域,AirtestPoco的组合已经成为技术团队的首选工具链。这套开源框架凭借其图像识别与UI控件定位的双重能力,能够覆盖90%以上的自动化测试场景…...
AI编程实战:从零到一搭建全栈项目
1. 引入 在现代 AI 工程中,Hugging Face 的 tokenizers 库已成为分词器的事实标准。不过 Hugging Face 的 tokenizers 是用 Rust 来实现的,官方只提供了 python 和 node 的绑定实现。要实现与 Hugging Face tokenizers 相同的行为,最好的办法…...
