次のコードがあります。
for(ArticleBasketInBean basketBean : bean.getBasket()) {
for(ArticleDTO article : dto.getArticleList()) {
if(basketBean.getArticleReference().equals(article.getArticleReference())) {
article.setAddedToBasket(true);
}
}
}
明らかに、上記の操作の時間計算量は O(n^2) です。この場合articleReference
はユニークです。したがって、によって返されるリストにbean.getBasket()
は重複がありません。これは、によって返されるarticleReference
リストにも当てはまりますdto.getArticleList()
。
このネストされた反復を避け、より高速なコードを記述したいと考えています。どうやってやるの?