迭代List并显示每个对象的一个字段的值的最有效方法是什么?
我OrderDTO在列表中有很多对象。
包含 2 个项目的示例:
final List<OrderDTO> orderList = new ArrayList<OrderDTO>();
final List<OrderDTO> orderList = new ArrayList<OrderDTO>();
final OrderDTO order1 = new OrderDTO("1", "100");
final OrderDTO order2 = new OrderDTO("2", "200");
orderList.add(order1);
orderList.add(order2);
OrderDTO有字段,例如orderId和stateId。
我想在日志中显示:
"1", "2"
或者
"100", "200"
在 Java 11 中,迭代列表并显示每个对象的一个字段的值的最有效方法是什么?
回答
虽然迭代集合的一种方式可能比其他方式更高效,但在您的用例中它根本无关紧要。花费最多时间的部分是打印元素,而不是迭代集合的方式。通常打印一些输出比仅仅迭代一个集合花费数千倍的时间。如果您只是迭代超过 1000 万个元素,则可能需要 100 毫秒。如果System.out.println在该循环中添加一个内部,则可能需要几分钟才能执行。
简而言之,在您的用例中考虑优化是不值得的。
此外,关于“过早优化”的内容可能值得一读——除非您确实看到了一些性能问题,否则不要优化某些内容。