java - 数组列表。按产品类型按文章访问名称

标签 java list sorting enums arraylist

我的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,并对于每个人,检查其product字段是否具有您在方法中传递的值。

此外,您的方法还需要一个本地List,您可以在其中添加与产品名称匹配的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 值。因为 enum 是一个 singleton

P.S: - 您的参数名称不要为 SMARTPHONE。这是一个枚举值。另外,根据Java命名约定,变量名称应以小写字母开头,并遵循camelCasing

关于java - 数组列表。按产品类型按文章访问名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402691/

相关文章:

java.net.URL 引用父目录中的文件

python - Python交换列表中的相邻元素(语法错误)

java - 为什么我会收到这个结果? java

Python列表实现和pympler测量

Swift 对数组进行排序并返回索引和元素的数组

javascript - 如何根据公共(public)属性将数组中的对象分组为数组的数组

java - jSTL 中的 if/else 逻辑

java - 在 Core Java 中识别 Android 设备

java - 在非 osgi 项目中获取服务需要哪些 Maven 依赖项?

java - Java 中列表的 AND/OR 运算