遇到这样一个场景,就是要判断传过来的Lists里有几组相邻的元素,然后有多少个单一的元素,比如3,3,3,4,4,4,5,5,5,6,6,6,8,9,10,11
方法有很多,但是我选了ArrayListMultimap
List<Integer> list = Lists.newArrayList(3,3,3,4,4,4,5,5,5,6,6,6,8,9,10,11);
ArrayListMultimap<Integer,Integer> listMultimap = ArrayListMultimap.create();
playCards.forEach(item -> listMultimap.put(item % 16, item));
for (Integer cardKey : listMultimap.keySet()) {
if (listMultimap.get(cardKey).size() == 3) {
}
}
通过这种方式找出相同元素,从而了解到ArrayListMultimap可以支持key相同的键值对,并自动将value转为list
个人见解,希望大家提出更优的方案,谢谢