Java1.6:根据模型值对模型列表进行排序
我正在使用Java1.6。我有一个Java1.6:根据模型值对模型列表进行排序,java,algorithm,search,collections,Java,Algorithm,Search,Collections,我正在使用Java1.6。我有一个员工模型,如下所示: private String id; private String firstName; private String lastName; private String phoneNumber; //getters and setters 列表包含从数据库获取的所有员工数据 我需要搜索列表中的一名或多名员工(类似于员工搜索功能,搜索必须在列表中进行,而不是在另一个数据库中点击搜索条件)。到目前为止,我不希望从列表中搜索员工时出现任何DB命
员工
模型,如下所示:
private String id;
private String firstName;
private String lastName;
private String phoneNumber;
//getters and setters
列表
包含从数据库获取的所有员工数据
我需要搜索列表中的一名或多名员工(类似于员工搜索功能,搜索必须在列表中进行,而不是在另一个数据库中点击搜索条件)。到目前为止,我不希望从列表
中搜索员工时出现任何DB命中。但是如果它变得复杂,那么我就得去做db
现在我想到的是一个缓慢的逻辑,比如:遍历列表
,并为每个员工
继续搜索搜索条件的值,如果匹配,则将其添加到新的列表
(这将给出搜索结果)
我想知道是否有达到同样效果的最佳方法。请让我知道这一点。排序:
但我不明白,这对你的搜索有什么帮助。至少现在已经排序了。您可以尝试实现二进制搜索。为了对列表进行排序,您可以让employee类实现可比较的接口。这与servlet和web服务有什么关系??此外,标题谈到“排序”,问题谈到筛选。您可以创建自己的索引。每个索引都是一个映射
,其中键是要搜索的值,值是Employee
对象。这取决于您希望在前期时间、使用的内存空间和每次搜索的时间之间进行权衡。考虑一下那里有多少员工。
class EmployeeComparator implements Comparator<Employee>{
public int compareTo(Employee o1,Employee o2){
return o1.lastName.compareTo(o2.lastNam);
}
}
Collections.sort(listOfEmplyees, new EmplyeeComparator);