高效的对象搜索/过滤

时间:2012-06-21 19:35:23

标签: java list search object filtering

在过滤课上,我已经决定了;出于功能目的,首先从表中获取所有数据,然后使用类本身过滤此结果。我有一个对象列表,代表表中的所有数据;我想知道过滤此结果以将其添加到jTable中的最快或更有效的方法是什么。

我正在寻找它通过Java编程来模仿SQL中的“Like”指令。

3 个答案:

答案 0 :(得分:2)

DBMS可以拥有能够更快地进行过滤和排序的索引。主要的DBMS肯定有成熟和彻底开发的算法。因此,在SQL中进行过滤和排序要高效得多。

另一方面,如果您计划缩小搜索结果范围,那么通过Java集合API对数据库及后续迭代进行第一次迭代(或多次迭代)似乎是合理的。但是你应该以某种方式跟踪你的基本结果集(通过SQL获取)是否仍然相关。

无论如何,通过互联网从DB获取10万条记录只是为了选择其中的50条听起来不太好。

答案 1 :(得分:1)

SQL过滤总是比JAVA快。

收集您需要的数据,不多也不少。

答案 2 :(得分:1)

要模仿LIKE,您必须遍历所有对象,然后在您所关注的字段上,您必须使用类似String.match的内容来查看是否字段符合过滤条件。

正如Robin所说,在SQL中执行此操作比将数据库中的所有内容都移植到Java中并使用Java进行过滤更有效。