Java 外卖点餐系统:菜品管理模块实现

本文将介绍一个 Java 外卖点餐系统中菜品管理模块的实现。这个模块包含了添加、删除、查询和排序等功能,能够方便地管理外卖平台的菜品信息。

代码示例

import java.util.*;

public class Menu {
    private LinkedList<Dish> dishes; // 菜品列表

    public Menu() {
        this.dishes = new LinkedList<Dish>();
    }

    // 添加菜品
    public void addDish(Dish dish) {
        this.dishes.add(dish);
    }

    // 删除菜品
    public void removeDish(Dish dish) {
        this.dishes.remove(dish);
    }

    // 获取菜品列表
    public LinkedList<Dish> getDishes() {
        return this.dishes;
    }

    // 模糊查询
    public LinkedList<Dish> selectByName(String name) {
        LinkedList<Dish> result = new LinkedList<>();
        for(Dish dish : this.dishes) {
            if(dish.getName().contains(name)) {
                result.add(dish);
            }
        }
        return result;
    }

    // 价格范围查询
    public LinkedList<Dish> selectByPrices(double low, double high) {
        LinkedList<Dish> result = new LinkedList<>();
        for (Dish dish : this.dishes) {
            if (dish.getPrice() >= low && dish.getPrice() <= high) {
                result.add(dish);
            }
        }
        return result;
    }

    // 价格升序
    public LinkedList<Dish> ascendingOrder() {
        LinkedList<Dish> result = new LinkedList<>(this.dishes);
        Collections.sort(result, (a, b) -> {
            return (int) a.getPrice() - (int) b.getPrice();
        });
        return result;
    }

    // 价格降序
    public LinkedList<Dish> descendingOrder() {
        LinkedList<Dish> result = new LinkedList<>(this.dishes);
        Collections.sort(result, (a, b) -> {
            return (int) b.getPrice() - (int) a.getPrice();
        });
        return result;
    }

    // 按精确名称查询
    public Dish selectByExactName(String name) {
        for (Dish dish : this.dishes) {
            if (dish.getName().equals(name)) {
                return dish;
            }
        }
        return null;
    }
}

技术原理

这段代码用到了以下技术内容:

  1. 集合: 使用 LinkedList 作为菜品列表,方便添加、删除、查询操作。
  2. 泛型: 集合中使用了泛型,保证数据类型安全。
  3. Lambda 表达式: 在价格升序和降序查询中使用了 Lambda 表达式,简化了代码。
  4. 排序算法: 使用了 Collections.sort() 方法进行排序。
  5. 封装: 将菜品列表和菜品相关操作封装在 Menu 类中,方便调用和维护。

总结

这个菜品管理模块实现了外卖点餐系统中常见的功能,并使用了一些常用的 Java 技术。通过学习这段代码,我们可以了解到如何使用 Java 开发简单的系统模块,并掌握一些常用的编程技巧。

注意: Dish 类是一个自定义的类,用于存储菜品信息,需要根据实际情况进行定义。

Java 外卖点餐系统:菜品管理模块实现

原文地址: https://www.cveoy.top/t/topic/oWav 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录