如何将List(String,String)转换为ListMap [String,String]?

时间:2017-01-18 14:47:20

标签: scala scala-collections

我有List(String,String)类型的列表,我想将其转换为地图。当我使用toMap方法时,我发现它没有保留List中的数据顺序。但是我的目标是通过保持数据的顺序与List相同,将列表转换为Map。我了解到ListMap保留了插入顺序(但它是不可变的)所以我可以使用带有map函数的LinkedHashMap将数据顺序插入到LinkedHashMap中,但这意味着我需要迭代所有元素是痛苦。任何人都可以建议我一个更好的方法吗? 感谢

2 个答案:

答案 0 :(得分:12)

这应该这样做:

val listMap = ListMap(list : _*)

答案 1 :(得分:1)

在Scala 2.13或更高版本中:

import React from 'react';
import { connect } from 'react-redux';

const CatsPage = (props) => {
    return (
        <div>
            <button onClick={props.getNewCatImage}>Get new cat image</button>
            <img src={props.cats} alt='Cat'/>
        </div>
    )
}

const mapStateToProps = state => {
    return {
        cats: state.cat
    };
};

const mapDispatchToProps = dispatch => {
    return {
        getNewCatImage: () => dispatch({type: 'GET_NEW_CAT'}),
    }
}

export default connect(mapStateToProps, mapDispatchToProps)(CatsPage);