gpt4 book ai didi

java - 如何在不循环的情况下从 ArrayList 中获取对象?

转载 作者:行者123 更新时间:2023-11-29 23:26:34 25 4
gpt4 key购买 nike

假设我有一个 Employee 类:

class Employee {
Employee(String name, int age)
{
this.name = name ;
this.age = age;
}
String name ;
int age;
}

现在创建一个这样的列表:

ArrayList<Employee> aa = new ArrayList<Employee>();
aa.add(new Employee("Nitish", 26));
aa.add(new Employee("Sh", 2));
aa.add(new Employee("S", 1));

我可以获取名称值为“Nitish”的员工对象吗?没有 For 循环

最佳答案

我猜你的面试官只是不希望你使用 forwhile 循环来查找 ArrayList 中的对象,但你可以实际上找到它们“没有循环”。

首先,你需要覆盖Employee类的equalshashCode:

@Override public boolean equals(Object obj) {
// ...
}

@Override public int hashCode() {
// ...
}

现在您可以使用 ArrayList.indexOf 找到您的对象(使用 equals 找到匹配)通过创建一个虚拟引用:

Employee target = new Employee("Nitish", 26);
int index = employees.indexOf(target);

这有点傻,但我猜有些面试官希望我们跳出框框思考。即使在引擎盖下它使用循环,但如果我的面试官问我同样的问题,而不是说不,你不能,我会使用这个例子,因为我想尽我最大的努力不按要求使用“循环” ,并解释它在幕后是如何工作的。然后我会简单地想出其他更好的解决方案,希望能奏效!

关于java - 如何在不循环的情况下从 ArrayList 中获取对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53456646/

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