/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
ArrayList
<Integer
> list
= new ArrayList
<>(Arrays.
asList(1,
2,
3,
4,
5,
6,
7,
8,
1,
2,
3,
4)); int listSize = list.size();
ArrayList<ArrayList<Integer>> listArr = new ArrayList<>(listSize/4);
for (int i = 0; i < listSize; i += 4) {
ArrayList<Integer> listOfNums = new ArrayList<>();
listOfNums.add(list.get(i + 1));
listOfNums.add(list.get(i + 2));
listOfNums.add(list.get(i + 3));
listOfNums.add(list.get(i));
listArr.add(listOfNums);
}
// Это чтоб пробежаться только по уникальным значениям листа.
Set<ArrayList<Integer>> uniqueSet = new HashSet<ArrayList<Integer>>(listArr);
for (ArrayList<Integer> temp : uniqueSet) {
System.
out.
println("counts of " + temp
+ ": " + Collections.
frequency(listArr, temp
)); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCUFycmF5TGlzdDxJbnRlZ2VyPiBsaXN0ID0gbmV3IEFycmF5TGlzdDw+KEFycmF5cy5hc0xpc3QoMSwyLDMsNCw1LDYsNyw4LDEsMiwzLDQpKTsKICAgICAgICBpbnQgbGlzdFNpemUgPSBsaXN0LnNpemUoKTsKCiAgICAgICAgQXJyYXlMaXN0PEFycmF5TGlzdDxJbnRlZ2VyPj4gbGlzdEFyciA9IG5ldyBBcnJheUxpc3Q8PihsaXN0U2l6ZS80KTsKCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgaSArPSA0KSB7CiAgICAgICAgICAgIEFycmF5TGlzdDxJbnRlZ2VyPiBsaXN0T2ZOdW1zID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgICAgIGxpc3RPZk51bXMuYWRkKGxpc3QuZ2V0KGkgKyAxKSk7CiAgICAgICAgICAgIGxpc3RPZk51bXMuYWRkKGxpc3QuZ2V0KGkgKyAyKSk7CiAgICAgICAgICAgIGxpc3RPZk51bXMuYWRkKGxpc3QuZ2V0KGkgKyAzKSk7CiAgICAgICAgICAgIGxpc3RPZk51bXMuYWRkKGxpc3QuZ2V0KGkpKTsKICAgICAgICAgICAgbGlzdEFyci5hZGQobGlzdE9mTnVtcyk7CiAgICAgICAgfQoKICAgICAgICAvLyDQrdGC0L4g0YfRgtC+0LEg0L/RgNC+0LHQtdC20LDRgtGM0YHRjyDRgtC+0LvRjNC60L4g0L/QviDRg9C90LjQutCw0LvRjNC90YvQvCDQt9C90LDRh9C10L3QuNGP0Lwg0LvQuNGB0YLQsC4KICAgICAgICBTZXQ8QXJyYXlMaXN0PEludGVnZXI+PiB1bmlxdWVTZXQgPSBuZXcgSGFzaFNldDxBcnJheUxpc3Q8SW50ZWdlcj4+KGxpc3RBcnIpOwoKICAgICAgICBmb3IgKEFycmF5TGlzdDxJbnRlZ2VyPiB0ZW1wIDogdW5pcXVlU2V0KSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiY291bnRzIG9mICIgKyB0ZW1wICsgIjogIiArIENvbGxlY3Rpb25zLmZyZXF1ZW5jeShsaXN0QXJyLCB0ZW1wKSk7CiAgICAgICAgfQoJfQp9