ArrayList.按产品类型按文章访问名称



我的数组列表包含9个人。每个人都有一个String类型的name值、int类型的age值和Enum类型的值(TV、SMARTPHONE、CAR(。我必须创建一个实现方法,根据产品名称查找名称。如果arrayListName包含SMARTPHONE,则使用智能手机返回所有名称。

public void showByProduct(Product SMARTPHONE) {

    public void showByProductName(Product SMARTPHONE) {
            if (arrayListName.contains(SMARTPHONE))
                System.out.println("found"+nameofowner);
            else {
                System.out.println("not found");
            }
        }

您需要对List进行迭代,对于每个Person,检查其product字段的值是否与您在方法中传递的值相同。

此外,您还需要在方法的本地有一个List,在其中添加与Product Name匹配的Person,然后在最后返回该List

public List<Person> showByProductName(Product product) {
    List<Person> localList = new ArrayList<Person>();
    for (Person person: persons) {   // persons is the original List.
        if (person.getProduct() == product) {
            localList.add(person);
        }
    }
    return localList;
}

在调用此方法的地方,将返回值存储在List引用中:-

List<Person> result = showByProductName(Product.SMARTPHONE);
System.out.println(result);

请注意,可以使用==比较两个enum值。由于CCD_ 10是CCD_。

附言:-不要将参数名称设为SMARTPHONE。这是一个枚举值。此外,根据Java命名约定,变量名称应以小写字母开头,并遵循camelCasing

for (Person p : arrayListName){
    if(p.geProduct()==product)
        System.out.println("Found : " + p.name());
}

然而,这并不是很酷。我认为你应该用Enum对你的人进行分类。

相关内容

  • 没有找到相关文章

最新更新