java基础之使用Stream对List分组

 java8新特性写法

//java8中stream写法
//可以附加filter等操作
//根据某一字段进行分组
 Map> groupBy=pubTypeAndLevelList.stream().collect(Collectors.groupingBy(PubTypeAndLevel::getName));

java7写法

 List list = new ArraysList()<>;

        //分组算法
        Map map = new HashMap<>();
        for (Object object :list) {
            List tempList = map.get(object.getName());
            /*如果取不到数据,那么直接new一个空的ArrayList**/
            if (tempList == null) {
                tempList = new ArrayList<>();
                tempList.add(object);
                map.put(object.getName(), tempList);
            }
            else {
                /*某个object之前已经存放过了,则直接追加数据到原来的List里**/
                tempList.add(object);
            }
        }

将object(Object)转为自己需要操作的类。 
  

 

你可能感兴趣的:(java基础)