import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class Main {
public static void main
(String[] args
) { ArrayList<ArrayList<String>> arrayList = new ArrayList<>();
arrayList.
add(new ArrayList
<>(List.
of("ad",
"fast",
"sf"))); arrayList.
add(new ArrayList
<>(List.
of("sa",
"sh"))); arrayList.
add(new ArrayList
<>(List.
of("ad",
"fast",
"sf"))); arrayList.
add(new ArrayList
<>(List.
of("hj",
"kl")));
HashSet<HashSet<String>> setOfSets = new HashSet<>();
boolean hasDuplicates = false;
for (ArrayList<String> innerList : arrayList) {
HashSet<String> set = new HashSet<>(innerList);
if (!setOfSets.add(set)) {
hasDuplicates = true;
break;
}
}
if (hasDuplicates) {
System.
out.
println("有重複的ArrayList。"); } else {
System.
out.
println("沒有重複的ArrayList。"); }
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CmltcG9ydCBqYXZhLnV0aWwuSGFzaFNldDsKaW1wb3J0IGphdmEudXRpbC5MaXN0OwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIEFycmF5TGlzdDxBcnJheUxpc3Q8U3RyaW5nPj4gYXJyYXlMaXN0ID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgYXJyYXlMaXN0LmFkZChuZXcgQXJyYXlMaXN0PD4oTGlzdC5vZigiYWQiLCAiZmFzdCIsICJzZiIpKSk7CiAgICAgICAgYXJyYXlMaXN0LmFkZChuZXcgQXJyYXlMaXN0PD4oTGlzdC5vZigic2EiLCAic2giKSkpOwogICAgICAgIGFycmF5TGlzdC5hZGQobmV3IEFycmF5TGlzdDw+KExpc3Qub2YoImFkIiwgImZhc3QiLCAic2YiKSkpOwogICAgICAgIGFycmF5TGlzdC5hZGQobmV3IEFycmF5TGlzdDw+KExpc3Qub2YoImhqIiwgImtsIikpKTsKCiAgICAgICAgSGFzaFNldDxIYXNoU2V0PFN0cmluZz4+IHNldE9mU2V0cyA9IG5ldyBIYXNoU2V0PD4oKTsKICAgICAgICBib29sZWFuIGhhc0R1cGxpY2F0ZXMgPSBmYWxzZTsKCiAgICAgICAgZm9yIChBcnJheUxpc3Q8U3RyaW5nPiBpbm5lckxpc3QgOiBhcnJheUxpc3QpIHsKICAgICAgICAgICAgSGFzaFNldDxTdHJpbmc+IHNldCA9IG5ldyBIYXNoU2V0PD4oaW5uZXJMaXN0KTsKICAgICAgICAgICAgaWYgKCFzZXRPZlNldHMuYWRkKHNldCkpIHsKICAgICAgICAgICAgICAgIGhhc0R1cGxpY2F0ZXMgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChoYXNEdXBsaWNhdGVzKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi5pyJ6YeN6KSH55qEQXJyYXlMaXN044CCIik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCLmspLmnInph43opIfnmoRBcnJheUxpc3TjgIIiKTsKICAgICAgICB9CiAgICB9Cn0K