繁体   English   中英

如何最有效地将所有字符串从对象列表添加到 ArrayList?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM