public static List<Integer> returnIntersection(List<Integer> a,List<Integer> b){
List<Integer> l1=new ArrayList<Integer>(a);
List<Integer> l2=new ArrayList<Integer>(b);
l1.retainAll(l2);//find intersection in l2
l1=removeDuplicates(l1);
return l1;}
public static List<Integer> removeDuplicates(List<Integer> l) {
Set<Integer> se=new HashSet<Integer>(l);
l.clear();
l=new ArrayList<Integer>(se);
return l;}
上記のコードは、重複のない 2 つのリストの交差を含むリストを返すことです。私の質問は、これの時間の複雑さは何ですか? keepAll() メソッドの時間計算量はどのくらいですか? また、リストをセットに変換するときに時間がかかることはありますか?