gpt4 book ai didi

Java ArrayList - 查找项目 - 我需要哈希吗?

转载 作者:行者123 更新时间:2023-12-03 01:29:02 25 4
gpt4 key购买 nike

我正在学习 Java,并且遇到了 ArrayList 的问题。我已阅读 Java 文档,并且认为我可能需要执行哈希操作?

我有一个名为catalog的对象,它有一个从另一个名为item的类创建的对象的数组列表。每个商品都有尺寸、颜色、价格、产品代码字段(这些是商品属性)。我需要在目录中包含一个方法,该方法接受产品代码并搜索 ArrayList 以查找具有匹配产品代码的对象。然后退回该产品。我的项目类中有一个 toString 方法,它在调用时列出了所有字段及其值。也许这就是在数组列表中找到匹配的产品代码时应该返回的内容?

import java.util.ArrayList;


public class Catalogue
{

private ArrayList<Item> catalogue;


public Catalogue ()
{

catalogue = new ArrayList<Item>();

}

public void findItem(int code)
{
if(Item.code == prodcode){

}
else{
System.out.println(catalogue.get(item));

}
}

我查看了 Java 文档,并阅读了有关哈希的内容,也许使用它而不是迭代器对我来说更好?我不确定该走哪条路。我的代码完成了一半非常感谢任何帮助。谢谢

最佳答案

您的操作取决于您的产品代码的紧密程度。我猜它们不是连续的,在这种情况下你确实需要使用 HashMap。

当您将项目存储在 HashMap 中时,请以您在查找项目时要使用的信息作为键来存储它们:

Map<Integer, Item> catalog = new HashMap<Integer, Item>();
catalog.put(item.code, item);

然后,当您需要根据产品代码获取商品时,请使用:

Item item = map.get(code);

关于Java ArrayList - 查找项目 - 我需要哈希吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5098762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com