java hashmap在项目中的使用

java hashmap在项目中的使用

1,缓存机制:

在需要频繁访问数据但又不想每次都从数据库或远程服务获取的场景中,可以使用 HashMap 作为缓存。例如,在一个 Web 应用程序中,用户信息可能只需要在登录时从数据库检索一次,之后可以将这些信息存储在 HashMap 中以供快速访问。

java 复制代码
Map<String, User> userCache = new HashMap<>();  
// 假设从数据库获取用户信息并缓存  
User user = fetchUserFromDatabase("user123");  
userCache.put("user123", user);  
// 之后可以通过 key 快速访问用户信息  
User cachedUser = userCache.get("user123");

2,购物车:

在电商应用中,HashMap 可以用来实现购物车功能。每个商品都有一个唯一的 ID(如 SKU),可以用作 HashMap 的键,而商品的数量和其他相关信息可以存储在值中。

java 复制代码
Map<String, Integer> cart = new HashMap<>();  
// 添加商品到购物车  
cart.put("SKU123", 1);  
cart.put("SKU456", 2);  
// 增加商品数量  
cart.merge("SKU123", 1, Integer::sum);  
// 获取商品数量  
int quantity = cart.getOrDefault("SKU123", 0);

3,统计信息:

在处理大量数据时,HashMap 可以用来存储和跟踪统计信息。例如,统计每个单词在文本中出现的次数。

java 复制代码
Map<String, Integer> wordCounts = new HashMap<>();  
// 假设 words 是一个字符串列表,包含文本中的所有单词  
for (String word : words) {  
    // 单词标准化(例如,转换为小写并去除标点符号)  
    String normalizedWord = normalizeWord(word);  
    // 更新或添加单词计数  
    wordCounts.merge(normalizedWord, 1, Integer::sum);  
}  
// 输出统计结果  
for (Map.Entry<String, Integer> entry : wordCounts.entrySet()) {  
    System.out.println(entry.getKey() + ": " + entry.getValue());  
}

4,配置管理:

主要是对项目的一些配置信息进行统一管理,如数据库连接,网络域名,微服务地址......

java 复制代码
Map<String, String> config = new HashMap<>();  
// 加载配置(这里仅作为示例)  
config.put("db.host", "localhost");  
config.put("db.port", "3306");  
// 访问配置信息  
String dbHost = config.getOrDefault("db.host", "default_host");

5,用户登录状态管理:

在Web应用中,可以使用HashMap来临时存储已登录用户的会话信息。

java 复制代码
public class UserSessionManager {
    private static HashMap<String, User> sessionMap = new HashMap<>();

    public static void loginUser(String sessionId, User user) {
        sessionMap.put(sessionId, user);
    }

    public static User getUserBySessionId(String sessionId) {
        return sessionMap.get(sessionId);
    }

    public static void logoutUser(String sessionId) {
        sessionMap.remove(sessionId);
    }
}
相关推荐
桦说编程6 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
lifallen6 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研6 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
没有bug.的程序员6 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋7 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
阿华的代码王国7 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Zyy~7 小时前
《设计模式》装饰模式
java·设计模式
A尘埃7 小时前
企业级Java项目和大模型结合场景(智能客服系统:电商、金融、政务、企业)
java·金融·政务·智能客服系统
青云交8 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
CHEN5_028 小时前
【Java基础面试题】Java基础概念
java·开发语言