これはJavaの質問です。リストを変換する最速の方法<?><ObjectType>
List<?>
をList<ObjectType>
に変換する最も簡単な方法は何ですか?私はこれが反復によって可能であることを認識しています。そのオプションを除外してください。反復によって
例、
final List<ObjectType> targetList = new ArrayList<ObjectType>();
// API returns List<?> so I have no choice.
List<?> resultList = resultSet.getResults();
// This is slow. Average list size is 500,000 elements.
while (resultList != null && !resultList.isEmpty()) {
for (final Object object : resultList) {
final ObjectType objectType = (ObjectType) object;
targetList.add(objectType);
}
resultSet = someService.getNext(resultSet);
resultList = resultSet.getList();
}
感謝。
あなたはアレイベースのリストを使用しているので、あなたが事前に割り当て50万要素試みた(約限りまたは?)。これにより、パフォーマンスが向上する可能性があります。 –
私はそれについて考えるので、LinkedListは全体の "事前割り当てメモリ"問題を完全に排除します。 –
'resultList'から要素を取り除くものがありますか、' while'は 'if'ですか? –