Java程序设计(Java集合实例)

代码如下:

一、Goods.java

public class Goods {
    private String no;
    private String name;
    private double price;
    private String shop;
    private String type;
    public Goods() {
    }
    public Goods(String no, String name, double price, String shop, String type) {
        this.no = no;
        this.name = name;
        this.price = price;
        this.shop = shop;
        this.type = type;
    }
    public String getNo() {
        return no;
    }
    public void setNo(String no) {
        this.no = no;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    public String getShop() {
        return shop;
    }
    public void setShop(String shop) {
        this.shop = shop;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    @Override
    public String toString() {
        return "Goods{" +
                "no='" + no + '\'' +
                ", name='" + name + '\'' +
                ", price=" + price +
                ", shop='" + shop + '\'' +
                ", type='" + type + '\'' +
                '}';
    }
}
二、GoodsManager.java

import java.util.Collection;
import java.util.List;
public interface GoodsManager {
    public void add_goods();
    public void del_goods(String no);
    public void update_goods();
    public Goods findByNo(String no);
    public Collection<Goods> findAll();
    public List<Goods> findByName(String name);
    public List<Goods> findByPrice(double start,double end);
}
三、GoodsManagerImpl.java

import java.util.*;
public class GoodsManagerImpl implements GoodsManager{
    private Map<String,Goods> goods_list=new HashMap<>();
    private  int size=0;
    @Override
    public void add_goods() {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入添加商品的名称");
        String name=scanner.next();
        System.out.println("请输入添加商品的价格");
        double price=9999;
        try {
            price = scanner.nextDouble();
        }catch(Exception e){
        }
        System.out.println("商家名称");
        String shop=scanner.next();
        System.out.println("商品的分类");
        String type=scanner.next();
        String no=UUID.randomUUID().toString().concat(size+"");
        Goods goods=new Goods(no,name,price,shop,type);
        goods_list.put(no,goods);
        size++;
    }
    @Override
    public void del_goods(String no) {
        goods_list.remove(no);
    }
    @Override
    public void update_goods() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入修改商品的商品编号:");
        String no=scanner.next();
        Goods goods=goods_list.get(no);
        System.out.println("商品名称的原来内容:");
        System.out.println(goods.getName());
        System.out.println("请输入修改后的名称");
        String name=scanner.next();
        System.out.println("商品名称的原来价格:");
        System.out.println(goods.getPrice());
        System.out.println("请输入修改后的价格");
        double price=goods.getPrice();
        try{
            price=scanner.nextDouble();
        }catch(Exception e){
        }
        System.out.println("商品名称的店铺名称:");
        System.out.println(goods.getShop());
        System.out.println("请输入修改后的店铺名称");
        String shop=scanner.next();
        System.out.println("商品名称的商品类别:");
        System.out.println(goods.getType());
        System.out.println("请输入修改后的商品类别");
        String type=scanner.next();
        goods=new Goods(goods.getNo(),name,price,shop,type);
        goods_list.put(goods.getNo(),goods);
    }
    @Override
    public Goods findByNo(String no) {
        return goods_list.get(no);
    }
    @Override
    public Collection<Goods> findAll() {
        return goods_list.values();
    }
    @Override
    public List<Goods> findByName(String name) {
        List<Goods> myresult=new ArrayList<>();
        Collection<Goods> mygoods=goods_list.values();
        Iterator<Goods> myiter=mygoods.iterator();
        while(myiter.hasNext()){
            Goods goods=myiter.next();
            if(goods.getName().indexOf(name)>-1){
                myresult.add(goods);
            }
        }
        return myresult;
    }
    @Override
    public List<Goods> findByPrice(double start, double end) {
        List<Goods> myresult=new ArrayList<>();
        Collection<Goods> mygoods=goods_list.values();
        Iterator<Goods> myiter=mygoods.iterator();
        while(myiter.hasNext()){
            Goods goods=myiter.next();
            if(goods.getPrice()>=start && goods.getPrice()<=end){
                myresult.add(goods);
            }
        }
        return myresult;
    }
}
四、MyMain.java

import java.util.Scanner;
public class MyMain {
    public static void main(String[] args) {
        GoodsManagerImpl goodsManager = new GoodsManagerImpl();
        goodsManager.add_goods();
        System.out.println(goodsManager.findAll());
        goodsManager.add_goods();
        System.out.println(goodsManager.findAll());
        Scanner scanner=new Scanner(System.in);
        System.out.println("输入需要删除的商品编号");
        String no=scanner.next();
        goodsManager.del_goods(no);
        System.out.println(goodsManager.findAll());
        goodsManager.update_goods();
        System.out.println(goodsManager.findAll());
    }
}
五、MyMain1.java

import java.util.Scanner;
public class MyMain1 {
    public static void main(String[] args) {
        GoodsManagerImpl goodsManager = new GoodsManagerImpl();
        goodsManager.add_goods();
        System.out.println(goodsManager.findAll());
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入查询的商品名称");
        String name=scanner.next();
        System.out.println(goodsManager.findByName(name));
    }
}

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值