我目前有一个SortedMap
,我想把它的values()
转换成数组列表。将SortedMap的值转换为arrayList
Map<String, String> myMap = transformToMap(myObject);
Collection<String> values = myMap.values();
值如下:[[1,2,3,4]]
我怎么把值代入[1,2,3,4]
尽可能简单?
我目前有一个SortedMap
,我想把它的values()
转换成数组列表。将SortedMap的值转换为arrayList
Map<String, String> myMap = transformToMap(myObject);
Collection<String> values = myMap.values();
值如下:[[1,2,3,4]]
我怎么把值代入[1,2,3,4]
尽可能简单?
使用该ArrayList构造函数集合作为参数:
ArrayList(Collection<? extends E> c)
实施例:
public static void main(String[] args) throws Exception {
Map<String, String> myMap = new TreeMap<>();
myMap.put("a","1");
myMap.put("b","2");
myMap.put("c","3");
Collection<String> values = myMap.values();
List<String> val = new ArrayList(values);
System.out.println(val);
}
,其输出:
[1, 2, 3]
所以我用这个,我的arrayList
我相信是你的'transformToMap(myObject);'有什么区别...' – gtgaxiola 2014-10-01 18:39:25
@JennyC检查你的'SortedMap'如何实现values()..作为一个测试,创建一个简单的'TreeMap'实现'SortedMap'),当你打印'myMap.values()'方法时,你会看到你不会得到双括号 – gtgaxiola 2014-10-01 18:42:59
尝试使用方法的addAll。 arraylist.addAll(myMap.values);
使用将Collection作为参数的ArrayList构造函数:'ArrayList(Collection extends E> c)' – gtgaxiola 2014-10-01 18:19:35
@gtgaxiola请写出该答案作为答案,以便我可以对其进行提升。 – 2014-10-01 18:20:07
@DavidWallace谢谢你好,先生! – gtgaxiola 2014-10-01 18:20:43