我有一个 ProductsController 类来处理数据库:ProductsController productsController = new ProductsController();我创建了一个新的 ArrayList 并添加了一些具有相同信息的产品对象:Product p1 = productsController.findOneById(1); //p1.getName() = "Analgin"Product p2 = productsController.findOneById(1); //p2.getName() = "Analgin"Product p3 = productsController.findOneById(1); //p3.getName() = "Analgin"Product p4 = productsController.findOneById(1); //p4.getName() = "Analgin"Product p5 = productsController.findOneById(2); //p5.getName() = "Pikovid"Product p6 = productsController.findOneById(2); //p6.getName() = "Pikovid"Product p7 = productsController.findOneById(3); //p7.getName() = "Bolnol"List<Product> productsList = new ArrayList<>();如何为以下输出计算 ArrayList 中的相同元素:4 安乃近2 皮科维德1 波尔诺尔
2 回答
![?](http://img1.sycdn.imooc.com/545847f50001126402200220-100-100.jpg)
www说
TA贡献1775条经验 获得超8个赞
我看到你已经实现了equals和hashCode,所以构建这样的映射就足够了:
HashMap <String, Product> productsByName = new HashMap <>();
productsByName.put(product1.getName(), product1);
productsByName.put(product2.getName(), product2);
// add all the products
并且这张地图已经包含了这样的信息,通过给定名称查询产品列表就足够了,例如:
List <Product> analginProducts = productsByName.get("Analgin");
添加回答
举报
0/150
提交
取消