私はプログラムを実行して、2つのリンクされたリストの要素を互いに比較しようとしています。これは、2つのforループを実行し、list1の各要素と.equals()を使ってlist2を比較して両方のリストを繰り返し処理することです。 もう1つの方法は、最初のリストを繰り返し実行し、list1.contains(list1.get(i)) が存在するかどうかをチェックすることです。javaドキュメントによれば、.containsは.equalsを内部的に行います。 これが当てはまる場合、後者の場合と比較して前者の実行時間が長いのはどうですか? ドキュメントを誤解しましたか?含まれている場合、内部比較はどのように正確に行われますか?Java:.containsと.equals
using equals:
for (int i = 0; i < list_one.size(); i++) {
for (int j = 0; j < list_one.size(); j++) {
if (list_one.get(i).equals(list_two.get(j))) { count++; }
using contains:
for (int i = 0; i < list_one.size(); i++) {
if (list_two.contains(list_one.get(i)) == true) { count++; }
ソースを見ることを検討してください。 –
要素がリストに存在するかどうかを確認するためにforループを使用する必要はありません。 – adatapost
最初のリストのすべての要素が2番目のリストにきれいであるかどうかを調べる必要があります。基本的には、重なっている要素をピックアップします。 – madCode