Tôi đang cố gắng thực thi một chương trình, để so sánh các phần tử trong hai danh sách liên kết với nhau. một cách, tôi có thể làm điều này là bằng cách thực hiện hai cho vòng lặp và lặp qua cả hai danh sách so sánh từng phần tử trong list1 với list2 sử dụng .equals(). cách khác là, chỉ cần lặp qua danh sách đầu tiên và kiểm tra xem list1.contains (list1.get (i)) .. tài liệu java nói, đó .contains hiện .equals nội bộ. nếu đó là trường hợp, làm thế nào là thời gian chạy của tôi cho cựu là lâu hơn khi so sánh với sau này? Tôi có hiểu sai tài liệu không? Nếu tôi đã làm, làm thế nào chính xác so sánh nội bộ diễn ra khi tôi sử dụng có chứa?Java: .contains and .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++; }
Cân nhắc xem xét nguồn. –
Không cần sử dụng vòng lặp để kiểm tra xem một phần tử có hiện diện hay không trong danh sách. – adatapost
Tôi phải kiểm tra xem mọi phần tử trong danh sách đầu tiên có nằm trong danh sách thứ hai hay không. Về cơ bản, chọn các phần tử chồng chéo. – madCode