java list分组

来源:互联网 发布:酷狗mac添加音乐 编辑:程序博客网 时间:2024/06/04 19:23

关于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 <T> List<List<T>> groupBy(final List<T> list, final String groupBy){        List<List<T>> result = new LinkedList<>();        Multimap<String, T> grouped = Multimaps.index(list,                new Function<T, String>() {                    @Override                    public String apply(T item) {                        return groupBy;                    }                });        Iterator<String> keyIterator = grouped.asMap().keySet().iterator();        while (keyIterator.hasNext()) {            String key = keyIterator.next();            List<T> groupedDataRows = (List<T>) grouped.get(key);            result.add(groupedDataRows);        }        return result;    }}



原创粉丝点击