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) -> { //Lambda
            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;
    }
}

这段代码用到了什么基本原理或技术内容:

这段代码用到了面向对象编程的基本原理和 Java 集合框架中的 LinkedList 和 Collections 类。其中包括类的定义、封装、继承、多态等基本原理,以及 LinkedList 的链表结构和常用操作方法,Collections 类中的排序方法和 Lambda 表达式等。此外,代码还涉及到了模糊查询、价格范围查询和按精确名称查询等常用技术。

Java 外卖点餐系统菜品管理类实现

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

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