gpt4 book ai didi

java - 在列表中寻找值(value)

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:29 25 4
gpt4 key购买 nike

我将列表声明为

        private List<Employees> employees;

我正在使用 DAO 从数据库中获取值

        employees= new ArrayList<Employees>();
employees.addAll(myDAO.getEmployees());

我想在 employees List 中搜索值,在 employees List 中查找值的最佳方法是什么?

我试过了

    Collections.sort(employees);
int index = Collections.binarySearch(employees, "abc");

但是我得到了强制转换异常

非常感谢任何帮助。

谢谢

最佳答案

Collections.sort(employees); // BigO - nlog(n)
int index = Collections.binarySearch(employees, new Employee("abc",...)); // BigO - log(n)

如果您每次对列表进行排序并进行搜索,代码复杂度为 nlog(n) + log(n) 其中 nlog(n) 用于排序列表, log(n) 用于二进制搜索。

最好线性搜索列表。线性搜索将采用 BigO - n ,它比以前的方法表现更好。


你在 Collections#sort 方法中得到 cast Exception 因为你的列表包含 null value 无法转换 Employee 并引发 ClassCastException

关于java - 在列表中寻找值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14936161/

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