Java 外卖点餐系统:菜品管理模块实现
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;
}
}
技术原理
这段代码用到了以下技术内容:
- 集合: 使用 LinkedList 作为菜品列表,方便添加、删除、查询操作。
- 泛型: 集合中使用了泛型,保证数据类型安全。
- Lambda 表达式: 在价格升序和降序查询中使用了 Lambda 表达式,简化了代码。
- 排序算法: 使用了 Collections.sort() 方法进行排序。
- 封装: 将菜品列表和菜品相关操作封装在 Menu 类中,方便调用和维护。
总结
这个菜品管理模块实现了外卖点餐系统中常见的功能,并使用了一些常用的 Java 技术。通过学习这段代码,我们可以了解到如何使用 Java 开发简单的系统模块,并掌握一些常用的编程技巧。
注意: Dish 类是一个自定义的类,用于存储菜品信息,需要根据实际情况进行定义。
原文地址: https://www.cveoy.top/t/topic/oWav 著作权归作者所有。请勿转载和采集!