基于另一个子DTO的属性值从arraylist中搜索元素的最佳方法是什么。
场景:我有Employee对象,它有另一个ContactDetails对象。我需要从extNumber为1234的员工列表中查找员工(extNumber是ContactDetails中的属性。我需要在创建新员工和分配新ext时检查ext是否可用。
无法直接使用JDBC查询,因为我正在使用corba api。没有任何提供此类搜索的corba api。
DTO有另一个subDto。
public class Employee {
private String name;
private ContactDetails contact;
}
public class ContactDetails {
private String number;
}
我目前是如何做的:我正在循环列表并检查extNumber,如下所示
public boolean isTelephoneExtAvailable(String telephoneExt, List<Employee> employeeList) {
boolean isAvailable = true;
if(null != employeeList) {
Iterator<Employee> itr = employeeList.iterator();
while(itr.hasNext()){
employeeList emp = itr.next();
ContactDetails contact = emp .getContactDetails();
if(null != contact && null != contact.getNumber()){
if(contact.getNumber().equals(telephoneExt)){
isAvailable = false;
break;
}
}
}
return isAvailable;
}
有没有更好的优化方式来实现这一点?
如果你可以使用Java8,我会像这样做(来自apache公共资源的StringUtils):
return !employeeList.stream().anyMatch(employee ->
employee.getContactDetails()!=null &&
StringUtils.equals(telephoneExt, employee.getContactDetails().getNumber()))
我有一个对象的arraylistTile有我想创建一个搜索函数,在这里我迭代遍历瓷砖的每个属性和arraylist中每个颜色内的每个属性(就像每个循环的嵌套),有没有一种简单的方法可以做到这一点?
我正在构建一个实用程序函数,它应该搜索属性名称,并在找到后返回其值。它应该递归地执行此操作: 但是,控制台日志将永远消失,浏览器将崩溃。我做错了什么? 编辑: 这就是我调用函数的方式:
我有一个具有以下结构的对象数组: 我希望输出为: 因为这两个都检查了。 我已尝试根据选中值筛选出: 我正在获取已选中属性值设置为。 我们将不胜感激。
问题内容: 我正在尝试通过ID号来搜索客户的最佳方法。以下代码无法正常工作;编译器告诉我我缺少一条语句。 问题答案: 编译器抱怨是因为您当前在for循环中有’if(exist)’块。它必须在它之外。 话虽如此,有更好的方法来执行此搜索。就个人而言,如果我使用的是ArrayList,我的解决方案将类似于Jon Skeet发布的解决方案。
现在我有一个关于它的问题是,我想根据Employee class age属性对ArrayList进行排序。所以请解释一下我该如何排序。
我对xslt有这个问题。样式表中有一个名为misctable的表,它被放在一个变量miscTables中。例如在节点 id="_384PLATE"具有值A1、A2、B1。当我标记并将其与xml进行比较时,我需要保存R[@i=2]/C/@i属性的值。在这种情况下,我需要得到值2,3,26 xml xslt 非常感谢。