package com.variableargs;
import java.util.HashMap;
import java.util.Map;
public class CalculationCache {
private static Map<String, Integer> resultCache = new HashMap<>();
public static int calculate(int... numbers) {
String key = arrayToString(numbers);
// 检查缓存中是否存在结果
if (resultCache.containsKey(key)) {
System.out.println("从缓存中获取结果");
return resultCache.get(key);
}
// 计算结果
System.out.println("进行复杂计算...");
int result = 0;
for (int num : numbers) {
result += num;
}
// 将结果存入缓存
resultCache.put(key, result);
return result;
}
private static String arrayToString(int[] numbers) {
StringBuilder sb = new StringBuilder();
for (int num : numbers) {
sb.append(num).append(",");
}
return sb.toString();
}
public static void main(String[] args) {
System.out.println(calculate(1, 2, 3)); // 进行复杂计算...
// 输出:6
System.out.println(calculate(1, 2, 3)); // 从缓存中获取结果
// 输出:6
System.out.println(calculate(4, 5, 6)); // 进行复杂计算...
// 输出:15
}
}
小山code
- 粉丝: 1w+
- 资源: 20
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈