java第十九课

本文介绍了在Java商城系统中,如何使用ArrayList和HashMap进行商品管理,包括用户操作界面(如商品、订单、购物车和支付模块),以及商品管理的增删改查操作,强调了利用接口、抽象类和javabean设计模式,以及去重策略的关键性。
摘要由CSDN通过智能技术生成

Java 重要类
String ArrayList 集合
商城系统:(登陆:商家,买家)
前台:用户操作界面(商品模块--订单模块--购物车模块
-支付模块)
后台: 商品管理(上传商品,删除商品-上架,秒杀,打折售卖
价格,提供丰富的查询) 订单管理 支付管理)
ArrayList 或者 HashMap 做商品管理后台
后台功能: 增删改 查(内功)
考虑思路:
采用开发方式: 面向接口开发方式
定义接口---抽象类--类--主程序
商品管理: 商品增删改查
接口: 商品管理接口(管理商品类-只是有 getter 或者是
setter 的方法类,这个特殊类 java bean )
方法:
add_goods 增加商品 商品的各种名称(商品编号,商品价
格,商品名称,商品分类,商家名称)
用户输入: 商品名称 有一个商品名称
商品名称--手机
名称(有意义的说明)---值(说明的情况)
凡是有名称和值对应关系,这种考虑 key-value(键---值)

达到这种对应关系,类型--HashMap 类型。
或者类(属性,方法)-类属性--值 ,把属性封装,
封装后私有化,某些属性可以 getter,setter
一定商品类(不需要接口)方法就是 getter setter,不需要其
他方法去做商品类,这个类描述商品。
需要商家输入上架商品的内容,这里获取内容,必然有参数,
参数就是商品类。
del_goods 删除商品(提供便利的删除,批量删除)
传入商品的编号(id)单个商品的删除
update_goods 修改商品
虽然用户输入的商品编号,用户一次性修改所有的项,传入
的内容即有编号,也有各种修改内容,(商品类)
根据商品编号,修改商品相关名称,修改价格
查(有不同的条件)
按照商品名称 search_name 用户选择一个名称,需要参数
多个商品,不需要去重.
按照价格 search_price 用户选择区间,需要两个参数
查询所有 search_all 不需要传参
按编号查 search_no 一个商品
经过初步分析
(1) 建接口文件—》商品管理文件(增删改查)
(2) 建立类文件-商品类(封装属性的 java bean)

(3) 商品管理操作就是增删改查,实质是产生变化的商品
内容, 单纯的数组操作麻烦,数组是定长,使用列
表 ArrayList,如果店家上传了商品,重复的商品,至
少商品的编号是不能重复的,只有商品名称,商品价
格,商品类中不能重复的是商品编号,商品编号唯一
表征商品的.ArrayList 是不可以去重的,这里的去重
只能按照商品编号去重,不能把对象放在一起去重。
(思路:把商品按商品编号去重,不能按商品的全部
信息去重,保证编号和商品对应,这里有两个对应关
系:编号---对应--商品,解决对应关系,key 就
是编号,value 就是商品 ,HashMap 的 key 自动去
重 )
如果可以用数组解决,不要考虑 if
(4) ArrayList 在商品管理类中,添加后根据商品编号去重,
建立 HashMap,去重后把商品放在 ArrayList 中。
整个商品管理交给 HashMap 管理,保证每个商品都可
以按编号去重,还可以把多个商品组织起来,最后查询
的结果可以放在 ArrayList 中.
(5) 删除直接按商品 id 删除即可 ArrayList 删除,商品 id
对应的索引,再删除。不但要管理 ArrayList,还要管
理 HashMap,HashMap 删 除 remove 按 key 来 删 ,
ArrayList 中的 remove 按索引来删,最好的方法把 key

和索引联系起来。删除起来效率高。也不把 key 直接
命名 0, 在 key 命名最后一位就是索引。
(注意: HashMap 的 remove 和 ArrayList 的 remove
方法参数不同,如何协调)
(6) 更新操作按照 key 找这个元素,直接修改,做删除
把 key 找到索引,用户输入 key,就知道索引,修改
内容只要调用索引。不需要遍历。
(7) 查询:按商品名称,遍历商品名称是否有内容。
HashMap{名称:商品},名称去重,这里遍历没有去重.
Get(“名称”) -商品
(8) 查询:按商品价格, 遍历商品价格,符合条件列
出.。
查询:按唯一内容查,都可以 HashMap 中的 key
这里只有一个商品管理,每个逻辑都必须实现,这里暂不加
入抽象类,如果多个模块整合,很有可能抽象类.
开发过程中,结合调试主类进行方法的开发.
先开发添加商品,添加商品后显示所有商品.
整个商品管理交给 HashMap 管理,保证每个商品都可以按编
号去重,还可以把多个商品组织起来,最后查询的结果可以放
在 ArrayList 中.
add_goods

Find_all

代码详见:JJava第十九课 · Fang-fang/方芳 的java - Gitee.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值