我需要帮助为每个循环编写一个循环,用于搜索名为peoplelist类型的数组列表的人员列表。循环需要搜索数组中的字符串邮政编码和字符串名称。如果找到它,则需要返回它们的ID;如果没有,则返回null。任何形式的帮助都会很棒!使用for each循环来查找数组列表中的两个元素
回答
//In case multiple persons match :)
List<String> result = new LinkedList<String>();
for (People person : peopleList) {
if (person.getName().equals(name) && person.getPostcode().equals(postCode))
result.add(person.getId());
}
if(result.isEmpty()){
return null;
}else{
return result;
}
非常感谢! – Jimmy 2011-03-22 11:53:46
需要做出很多假设你的类,但这样的事情就够了:
for (People person : peoplelist) {
if (person.getPostCode().equals(postcode) && person.getName().equals(name)) {
return person.getId();
}
}
// deal with not being found here - throw exception perhaps?
随着“两个要素”,你的意思是“某个类的两个属性”?如果是这样,沿着这些路线的东西会做:
String id = null;
for(People p : peoplelist) {
if(somePostcode.equals(p.postcode) && someName.equals(p.name)) {
id = p.id;
break; // no need to continue iterating, since result has been found
}
}
// result “id” is still null if the person was not found
如果该类People
是这样写一个Java bean(即标准getter方法),这样的事情会做的工作:
for (People person : peopleList) {
if (person.getName().equals(name) && person.getPostcode().equals(postCode))
return person.getId();
}
return null;
如果某人的姓名或邮编可能为null
,则可能需要翻转equals
调用以避免空指针异常(例如name.equals(person.getName())
而不是person.getName().equals(name)
)。
btw Person
将是一个更好的名字。
People foundPerson;
for (People eachPeople : peoplelist)
{
if (Integer.valueOf(eachPeople.getID()) == 10054
&& "Jimmy".equals(eachPeople.getName()))
{
foundPerson= eachPeople;
break;
}
}
假设你有一个Person
豆,然后如果你想检索其postcode
和name
匹配一些值的Person
任何情况下,你可以做这样的事情:
public List<Person> searchFirst(List<Person> persons, String postcode, String name) {
List<Person> matchingPersons = new ArrayList<Person>();
for (Person person : persons) {
if (person.getPostcode().equals(postcode) && person.getName().equals(name))
matchingPersons.add(person);
}
return matchingPersons;
}
下一页时间,你可能想向我们展示你的代码,所以我们可以帮助你理解你做错了什么:)
好的抱歉,我是新来这个网站,我想只是说我做了这个尝试,但这是我第一次使用for-each循环,我找不到任何简单的例子来帮助我理解:) – Jimmy 2011-03-22 12:00:47
- 1. 在For循环中查找列表中的第N个元素
- 2. 使用For Each循环的数组的存储列表
- 3. 使用for循环查找数组
- 4. 通用列表和for-each循环
- 5. 在单个for循环中查找数组中的重复元素
- 6. 跳过“for each”循环中的第一个元素?
- 7. for each跳过循环中的最后一个元素
- 8. 用for循环添加数组元素
- 9. 使用foreach循环查找数组中最大的元素
- 10. for each循环检查| AngularJS
- 11. 更改.each循环中引用的数组元素的值?
- 12. 传递列表元素的for循环
- 13. jquery .each使两个循环
- 14. Ember.js,循环遍历{{each}}循环的两个数组
- 15. 查找循环列表中的上一个匹配元素
- 16. 在XSLT for each each循环中获取元素的总数(迭代)
- 17. 使用数组for循环for循环
- 18. VB.NET中的循环(FOR EACH)
- 19. Xslt访问for-each循环的前一个元素
- 20. .each()循环中的JavaScript数组不添加新元素
- 21. 尝试使用for循环读取数组中的元素
- 22. 使用for循环删除数组中的元素
- 23. PHP:使用for循环计数元素
- 24. 添加一个元素到一个for循环中的数组
- 25. 当遍历页面使用for-each循环时硒元素陈旧元素
- 26. PHP for each循环
- 27. for-each循环NullPointerException
- 28. JavaScript for each循环
- 29. JavaScript for(-each)循环
- 30. 使用for循环从列表中获取元素
这个功课是? – SWeko 2011-03-22 11:31:24
它看起来好像不想在数组列表中找到“两个元素”,而是数组列表中所有“People”元素的“两个属性”。正确?你能让我们知道你的'人民'班是怎么样的吗? – MarcoS 2011-03-22 11:33:35
是的,我的意思是属性抱歉。将代码提供给我2秒 – Jimmy 2011-03-22 11:39:55