注意:如果你能写得更好,请编辑标题。我不知道如何更好地解释它......
解决问题: 我正在以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();
}
答案 0 :(得分:1)
数据库驱动程序可以选择流式传输数据。
解决方法和更大的客户数据集,您可以利用Java 8's
并行流,利用CPU的所有核心,使用一个内核
List<String> names = CustomerBean.getAllCustomers().parallelStream().map(c.getCName()).collect(toList());