1
다음 코드 pre java 8의 결과를 얻는보다 효율적인 방법을 찾고 있습니다 (아직 Java 8을 지원하지 않는 Google App Engine에서 호스팅되는 앱에 있습니다.) 슈퍼 목록으로 항목을 집계하는보다 효율적인 방법 Java
List<Order> orders = getOrders();
List<LineItem> lineItems = new ArrayList<>();
for (final Order order : orders) {
for (final LineItem lineItem : order.getItems()) {
lineItems.add(lineItem);
}
}
자바 8 기능을 사용하지 않고도이를 달성의보다 효율적인 방법이 있습니까? 아마도 당신은 그것을이 보조 배열의 크기를 칠 때
ArrayList
가 필요로하는 크기 조정 작업을 피함으로써 좀 더 효율적으로 만들 수 있고, 그 삽입하기 전에 필요한 크기를 계산하여입니다 구아바
코드를 복잡하게 만드는 마이크로 최적화처럼 보이므로 마지막 목록에 몇 백만 개의 요소가 있다고 예상하지 않는 한이 방법을 사용하지 않을 것입니다 (심지어 크기를 추측 할 수도 있음). 추가 코드 라인은 그만한 가치가 없습니다. – Xaerxess
@Xaerxess 당신은 어떻게 추측하겠습니까? 마법의 숫자를 던져? 이 질문은 목록의 크기를 지정하지 않고 효율적으로 만드는 것에 대해 질문했습니다. –
'새로운 ArrayList <> (expectedOrderSize * orders.size())', (크기의) 순서가 맞다면 최대 2-3 크기의 크기를 가질 수 있습니다. – Xaerxess