Java中HashSet的使用(小练习)

学习目标:

  • 一个月掌握 Java 入门知识

学习内容:

  1. HashSet的定义
  2. 创建对象,存储至HashSet集合中
  3. 迭代器Iterator和foreach的使用

需求描述:

有一位顾客在流浪猫救助平台的线下商店购买了3中猫粮(猫粮包括名字、类别和价格),要求打印小票,小票包括总价。


import java.util.HashSet;
import java.util.Iterator;

/**
 * @author Vinyoo
 * @date 2025/1/15 16:48)
 * 实现流浪猫救助平台的购物功能
 */
class CatFood{
    private String name;//名字
    private String title;//类别
    private double price;//价格
    public CatFood(String name, String title, double price)//全参构造方法
    {
        this.name = name;
        this.title = title;
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
    //预输出的样式
    @Override
    public String toString() {
        return name + "\t\t\t"+title+"\t\t\t"+price;
    }
}
public class TestHashSet2 {
    public static void main(String[] args)
    {
        HashSet<CatFood> shoppingCart = new HashSet<>();  //创建购物车
        //想要的三种猫粮
        CatFood food1 = new CatFood("roy","幼猫粮",109.5);
        CatFood food2 = new CatFood("now","幼猫粮",89.5);
        CatFood food3 = new CatFood("go","成猫粮",180.5);
        //添加至集合
        shoppingCart.add(food1);
        shoppingCart.add(food2);
        shoppingCart.add(food3);
        //迭代器定义
        Iterator<CatFood> iterator = shoppingCart.iterator();
        
        System.out.println("您的购物车里的商品信息:\n品牌\t\t类型\t\t\t价格");
        System.out.println("----------------------------------------------------");
        //迭代输出HashSet集合中的内容
        while(iterator.hasNext())
        {
            System.out.println(iterator.next());
        }
        System.out.println("-----------------------------------------------------");
        
        double sumMoney = 0;
        //使用foreach来叠加集合中的元素的价格
        for (CatFood money :shoppingCart
             ) {
            sumMoney = sumMoney+money.getPrice();
        }

        //使用iterator来叠加集合中的元素的价格
        while(iterator.hasNext())
        {
            CatFood food = iterator.next();
            sumMoney+=food.getPrice();
        }

        System.out.println("合计:\t\t\t\t\t\t"+sumMoney+"元\n\t\t\t\t\t-->点我去结账");
    }
}

快去试试吧,加油!!!

你可能感兴趣的:(Java学习,java,开发语言)