关于java list分组网上有很多的代码,在此我来用guava做一个分组的例子,代码如下:
package com.netease.ad.omp.common.utils;
import com.google.common.base.Function;
import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
/**
* Created with IntelliJ IDEA
*/
public class GroupByUtils {
public static List> groupBy(final List list, final String groupBy){
List> result = new LinkedList<>();
Multimap grouped = Multimaps.index(list,
new Function() {
@Override
public String apply(T item) {
return groupBy;
}
});
Iterator keyIterator = grouped.asMap().keySet().iterator();
while (keyIterator.hasNext()) {
String key = keyIterator.next();
List groupedDataRows = (List) grouped.get(key);
result.add(groupedDataRows);
}
return result;
}
}