I would like to ask if there is a better way of find if a List contains at least one element of another List of a different type.
For instance
public class AnotherType{
private int x;
private String label;
....
}
List<String> list1 = new ArrayLis<String>();
list1.add("inst1");
list1.add("inst2");
list1.add("inst3");
List<AnotherType> list2 = new ArrayList<AnotherType>();
list2.add(new AnotherType(1,"inst7"));
list2.add(new AnotherType(1,"inst1"));
Now I want to find that the list2 in the index 1(second element) contains the element "inst1" that exists in list1.
Is that a better than make one loop inside the other?
I work with java 1.6
If you represent
list1as a HashSet, the.contains()operation would be much faster,O(1), as compared toArrayList.contains(), which would beO(n).