`

List -> Map<String, Map<String, Striing>> demo

阅读更多
package com.ctrip.framework.apollo.demo;

import com.google.common.collect.Lists;
import com.google.common.collect.Maps;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @author maxiaolong
 * @create 2018-07-17 10:12
 **/
public class StreamDemo {

  public static void main (String[] args) {
    convert();
  }

  private static void convert () {
    List<Bean> beanList = Lists.newArrayList(new Bean("k1", "f1", "v1"),
            new Bean("k1", "f2", "v2"), new Bean("k2", "f2", "v3"));
    Map<String, Map<String, String>> resultMap = beanList.stream().collect(Collectors.toMap(bean -> bean.getKey(),
            bean -> {
              Map map = Maps.newHashMap();
              map.put(bean.getField(), bean.getValue());
              return map;
            }, (oldValue, newValue) -> {
                oldValue.putAll(newValue);
                return oldValue;
            }));
    resultMap.forEach((key, value) -> System.out.println("key: " + key + "; value: " + value));
  }

  static class Bean {

    private String key;

    private String field;

    private String value;

    public Bean (String key, String field, String value) {
      this.key = key;
      this.value = value;
      this.field = field;
    }

    public String getKey() {
      return key;
    }

    public void setKey(String key) {
      this.key = key;
    }

    public String getField() {
      return field;
    }

    public void setField(String field) {
      this.field = field;
    }

    public String getValue() {
      return value;
    }

    public void setValue(String value) {
      this.value = value;
    }
  }

}

 

分享到:
评论

相关推荐

    谷歌地图 delphi 封装库 2013 0.1.9 全面支持google maps api

    - Bug fixed: TGMMap -&gt; bug fixed on RemoveLinkedComponent when trying delete an object without being the list created. - Bug fixed: JavaScript =&gt; when it had figures of different types together, ...

    cms后台管理

    protected List&lt;Content&gt; getList(Map&lt;String, TemplateModel&gt; params, Environment env) throws TemplateException { Integer[] ids = DirectiveUtils.getIntArray(PARAM_IDS, params); if (ids != null) { //...

    config4j

    返回 List&lt;ConfigNode&gt; &lt;br&gt; * ROOT.NODE.CNODE:$value 末结点的TEXT值 返回 String &lt;br&gt; * ROOT.NODE.CNODE:$node 末结点的结点 返回 ConfigNode &lt;br&gt; * ROOT.NODE.CNODE:$properties 末结点的属性表(MAP) 返回 Map...

    jfinalpluginsjfinal-dreampie.zip

     public Map&lt;String, AuthzHandler&gt; getJdbcAuthz(); } 13.shiro的freemarker标签库 &lt;@shiro.hasPermission name="P_USER"&gt;  &lt;li&gt;&lt;a href="/admin/user"&gt;${i18n.getText("admin.user")}&lt;/a&gt;&lt;/li&gt;  ...

    Visual C++ 编程资源大全(英文源码 DLL)

    ufstmaps.zip&lt;br&gt;A fully featured map class that uses balanced trees to store and retrieve data quickly by key (558KB)&lt;END&gt;&lt;br&gt;63,qsort_demo.zip&lt;br&gt;An introduction to a useful function (15KB)&lt;END&gt;&lt;br&gt;...

    复杂邮件程序完整Java源码,支持添加附件,图片,HTML格式文本,支持远程WebService调用

    void sendMail(String sender,String password,String addressee,String subject,String text,Map&lt;String,File&gt; enclosures,Map&lt;String,RecipientType&gt; copyToSends) throws Exception; /** * sendMail 发送...

    adb1.0.26包含fastboot.exe

    如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s &lt;serialNumber&gt;] 这一部分,直接使用 adb &lt;command&gt;。 为命令指定目标设备 如果有多个设备/模拟器连接,则需要为命令指定目标设备。 参数 含义 -d 指定当前...

    MapView的使用

    android:apiKey="Map_Demo" android:clickable="true" /&gt; &lt;EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="输入查询地址" android:selectAll/&gt; &lt;/...

    详解 Spring注解的(List&Map)特殊注入功能

    详解 Spring注解的(List&Map)特殊注入功能 最近接手一个新项目,已经没有原开发人员维护了。项目框架是基于spring boot进行开发。...private Map&lt;String&gt; demoServiceMap; 以上是两处代码示例化之后的demo。当

    百万商业圈 .NET 开发框架及开发框架API说明书 核心库

    public List&lt;string&gt; GetDeleteAndInsertXmlSql(Object o, string xml, List&lt;string&gt; keys) 4、增加集成了盘古中文分词 更多范例请参考 http://hi.baidu.com/earthsearch 注:使用范例时:请先引用所有的DLL类库 ...

    拼多多授权java版

    TreeMap&lt;String,String&gt; map=new TreeMap&lt;String, String&gt;(); //商品 map.put("goods_id_list","["+GoodsId+"]"); map.put("type",type); map.put("p_id",pid); map.put("generate_short_url","true");...

    Spring入门笔记.md

    ## Spring入门学习 首先认识下Spring的结构 !... 然后我们皆可以写我们的demo了 ### 我们的Bean类 ...对于bean的理解,希望大家是把他看成Object对象,他可以是任何对象,甚至...list&lt;provin&gt; Map&lt;city,provincecitymysqq

    java redis demo

    使用jedis连接池建立redis连接,封装了使用序列化方法存储,获取,删除string,Bean,List&lt;&gt;,Map&lt;,&gt;的方法,还有非序列化的Hash存储方法,另有单独的测试类

    fusionCharts dragnode demo

    TreeMap&lt;Integer,List&lt;OperationLog&gt;&gt; map = new TreeMap&lt;Integer,List&lt;OperationLog&gt;&gt;(); List&lt;OperationLog&gt; list = generatTestData(totalLevel,eachLevelCount); for(OperationLog log : list){ ...

    HXSDKHelper.java 环信Demo 

    private Map&lt;String, User&gt; contactList; /** * robot list in cache */ private Map&lt;String, RobotUser&gt; robotList; private CallReceiver callReceiver; /** * 用来记录foreground Activity */ ...

    Android静默安装常用工具类

    join(List&lt;String&gt; list, String separator) List转换为字符串,并以固定分隔符分割 addDistinctEntry(List&lt;V&gt; sourceList, V entry) 向list中添加不重复元素 源码可见ListUtils.java,更多方法及更详细参数介绍可见...

    java8集合源码分析-java8-demo:java8-演示

    java8 集合源码分析 Java8特性Demo 代码来源: 主要会介绍如何使用默认接口方法,lambda表达式,方法引用和可复用的annotation。 包括流、功能接口、扩展的map以及新的Date ...List&lt;String&gt; names = Arra

    java解析json

    public static List jsonToList(String jsonString, Class cla, Map map) { List list = null; try { setDateFormat2Java(); JSONArray array = JSONArray.fromObject(jsonString); list = new ...

Global site tag (gtag.js) - Google Analytics