![](/img/trans.png)
[英]Most efficient way to compare a list of strings to a list of objects with a string field
[英]How to add all Strings to a ArrayList from a List of objects most efficient?
注意:如果你能写得更好,请编辑标题..我不知道如何更好地解释它..
回到问题:我在 javafx 表单中使用自动完成功能,需要将所有客户的 firstName 放入字符串列表中。 我已经使用 JPA 从数据库中获取所有客户。 所以我有点担心我的代码的速度..你明白为什么..
代码示例:
public static List<String> getAllFirstNamesCustomer() {
List<String> names = new ArrayList<>();
for (Customer c : CustomerBean.getAllCustomers()) {
names.add(c.getCName());
}
List<String> output =
new ArrayList<>(new LinkedHashSet<>(names));
return output;
}
编辑:
认为我找到了更好的方法:
public static List<String> getAllFirstNamesCustomer() {
return em.createNativeQuery("select DISTINCT cname from customer").getResultList();
}
好的选择是让数据库驱动程序流式传输数据。 一种解决方法和更大的客户数据集,您可以利用Java 8's
并行流,它利用 CPU 的所有内核,具有一个线性
List<String> names = CustomerBean.getAllCustomers().parallelStream().map(c.getCName()).collect(toList());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.