在Java里如何实现简单库存管理系统?Java集合实战说明

来源:建站作者:USDT程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《在Java里如何实现简单库存管理系统?Java集合实战说明》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《在Java里如何实现简单库存管理系统?Java集合实战说明》有用,将其分享出去将是对创作者最好的鼓励。

在Java中开发简单库存管理系统,核心是利用集合存储商品数据,实现基础的业务操作逻辑,不需要额外的数据库依赖,非常适合用来练习Java集合的实际应用。整个系统围绕商品信息的管理展开,通过不同的集合类型搭配完成数据存储和功能实现。

在Java里如何实现简单库存管理系统?Java集合实战说明

核心实现思路

库存管理的核心是对商品信息的增删改查,我们可以设计一个商品类存储单个商品的属性,再使用Java集合存储所有商品对象。其中ArrayList适合存储有序的商品列表,方便遍历和按顺序操作;HashMap适合通过商品唯一标识快速查询商品,提升查询效率。两个集合搭配使用,可以兼顾操作便利性和查询性能。

商品类定义

首先定义商品类,包含商品的基础属性,比如商品编号、名称、库存数量、单价等,同时提供对应的构造方法和getter、setter方法,方便后续操作商品数据。

// 商品类,存储单个商品的所有信息
public class Product {
    // 商品唯一编号
    private String productId;
    // 商品名称
    private String productName;
    // 当前库存数量
    private int stockCount;
    // 商品单价
    private double price;

    // 构造方法,初始化商品属性
    public Product(String productId, String productName, int stockCount, double price) {
        this.productId = productId;
        this.productName = productName;
        this.stockCount = stockCount;
        this.price = price;
    }

    // 获取商品编号
    public String getProductId() {
        return productId;
    }

    // 设置商品编号
    public void setProductId(String productId) {
        this.productId = productId;
    }

    // 获取商品名称
    public String getProductName() {
        return productName;
    }

    // 设置商品名称
    public void setProductName(String productName) {
        this.productName = productName;
    }

    // 获取库存数量
    public int getStockCount() {
        return stockCount;
    }

    // 设置库存数量
    public void setStockCount(int stockCount) {
        this.stockCount = stockCount;
    }

    // 获取商品单价
    public double getPrice() {
        return price;
    }

    // 设置商品单价
    public void setPrice(double price) {
        this.price = price;
    }

    // 重写toString方法,方便打印商品信息
    @Override
    public String toString() {
        return "商品编号:" + productId + ",商品名称:" + productName + ",库存数量:" + stockCount + ",单价:" + price;
    }
}

库存管理核心类实现

接下来实现库存管理类,在这个类中定义集合存储商品数据,同时实现添加商品、查询商品、修改库存、删除商品、展示所有商品等功能。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

// 库存管理核心类
public class InventoryManager {
    // 使用HashMap存储商品,key为商品编号,value为商品对象,方便快速查询
    private Map<String, Product> productMap;
    // 使用ArrayList存储商品列表,方便按顺序遍历和展示
    private List<Product> productList;

    // 构造方法,初始化集合
    public InventoryManager() {
        productMap = new HashMap<>();
        productList = new ArrayList<>();
    }

    // 添加商品到库存
    public void addProduct(Product product) {
        // 判断商品编号是否已存在
        if (productMap.containsKey(product.getProductId())) {
            System.out.println("添加失败,商品编号" + product.getProductId() + "已存在");
            return;
        }
        // 同时添加到HashMap和ArrayList中
        productMap.put(product.getProductId(), product);
        productList.add(product);
        System.out.println("商品添加成功:" + product);
    }

    // 根据商品编号查询商品
    public Product getProductById(String productId) {
        return productMap.get(productId);
    }

    // 修改商品库存数量
    public void updateStock(String productId, int newStock) {
        Product product = productMap.get(productId);
        if (product == null) {
            System.out.println("修改失败,未找到编号为" + productId + "的商品");
            return;
        }
        product.setStockCount(newStock);
        System.out.println("库存修改成功,当前商品信息:" + product);
    }

    // 删除商品
    public void deleteProduct(String productId) {
        Product product = productMap.get(productId);
        if (product == null) {
            System.out.println("删除失败,未找到编号为" + productId + "的商品");
            return;
        }
        // 同时从HashMap和ArrayList中移除
        productMap.remove(productId);
        productList.remove(product);
        System.out.println("商品删除成功:" + product);
    }

    // 展示所有库存商品
    public void showAllProducts() {
        if (productList.isEmpty()) {
            System.out.println("当前库存为空,没有商品信息");
            return;
        }
        System.out.println("当前所有库存商品信息:");
        for (Product product : productList) {
            System.out.println(product);
        }
    }
}

功能测试示例

最后编写测试类,验证库存管理系统的各项功能是否正常运行,测试添加、查询、修改、删除、展示等操作的执行效果。

public class InventoryTest {
    public static void main(String[] args) {
        // 创建库存管理对象
        InventoryManager manager = new InventoryManager();

        // 添加商品测试
        Product p1 = new Product("P001", "无线鼠标", 50, 89.9);
        Product p2 = new Product("P002", "机械键盘", 30, 299.0);
        Product p3 = new Product("P003", "USB扩展坞", 20, 49.5);
        manager.addProduct(p1);
        manager.addProduct(p2);
        manager.addProduct(p3);

        // 展示所有商品
        manager.showAllProducts();

        // 查询商品测试
        System.out.println("n查询编号P002的商品:");
        Product queryResult = manager.getProductById("P002");
        if (queryResult != null) {
            System.out.println(queryResult);
        } else {
            System.out.println("未找到对应商品");
        }

        // 修改库存测试
        System.out.println("n修改P001的库存为60:");
        manager.updateStock("P001", 60);

        // 删除商品测试
        System.out.println("n删除编号P003的商品:");
        manager.deleteProduct("P003");

        // 再次展示所有商品
        System.out.println("n删除后的所有商品信息:");
        manager.showAllProducts();
    }
}

实现注意事项

  • 两个集合的数据需要保持同步,添加或删除商品时要同时操作HashMapArrayList,避免出现数据不一致的问题
  • 商品编号作为唯一标识,添加商品时需要做重复校验,防止出现编号重复的商品
  • 查询商品时优先使用HashMap的get方法,时间复杂度为O(1),比遍历ArrayList效率更高
  • 如果是实际使用的系统,还需要考虑线程安全问题,当前实现仅适合单线程场景的练习使用

Java库存管理系统Java集合ArrayListHashMap修改时间:2026-07-02 14:30:45

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。