【发布时间】:2021-01-29 18:44:55
【问题描述】:
我找不到这方面的教程,每个教程似乎都使用字符串的 ArrayList。
假设你有一个 Person 类,它有很多属性,包括名字。
class person
{
public String name;
public int age;
public int weight;
public String hair_colour;
public String eye_colour;
};
你有一个人的 ArrayList,你想在这个 ArrayList 中找到一个人,而你只有他们的名字。
ArrayList<person> people = new ArrayList<person>();
如何找到“Fred”?
我知道可以循环遍历列表中的所有项目,但我想使用迭代器正确执行此操作。
有谁知道一个教程来解释如何使用迭代器在 ArrayList 上进行查找以仅使用该项目的一个属性来查找项目?
或者这是不可能的?我误解了 Iterator 的意思吗?
【问题讨论】:
-
向我们展示如何使用 for 循环来做到这一点。迭代器方法几乎相同。
-
您可以执行与字符串完全相同的操作。唯一不同的是循环的内部,在字符串比较的地方,你应该比较人的名字。
-
Java 约定通常使用大写的类名和变量的驼峰式命名。此外,您不需要在课程结束时使用分号。 ArrayList 语句可以简化为 ArrayList
people = new ArrayList;要迭代,做 for (person certainPerson : people) { if (certainPerson.name == "Fred") { //do anything } } -
寻找教程的问题离题了,抱歉
-
使用for-each-loop,你失去了实际的迭代器。如果需要索引,则需要使用显式迭代器。