我想执行一个程序,比较两个链接列表中的元素。我可以做到这一点是通过执行两个for循环并迭代两个列表,使用.equals()将list1中的每个元素与list2进行比较。 另一种方法是,只是迭代第一个列表并检查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++; }
请考虑查看源代码。 – 2012-01-28 03:27:04
无需使用for循环来检查元素是否存在或不在列表中。 – adatapost 2012-01-28 03:30:14
我必须检查第一个列表中的每个元素是否都在第二个列表中。基本上,拿起重叠的元素。 – madCode 2012-01-28 03:31:54