将值映射到ArrayList

时间:2016-03-16 18:00:36

标签: java dictionary arraylist

我有一个Map<Integer, MyClass>MyClass有2个字段,例如Object1 objObject2 objj

如何创建包含所有ArrayList<Object2>值的Object2

我是否必须重复Map,然后将值添加到ArrayList或以另一种方式存在?

3 个答案:

答案 0 :(得分:7)

如果您使用的是Java 8,则可以:

List<Object2> list = map.values()
                        .stream()
                        .map(v -> v.objj)
                        .collect(Collectors.toList());

如果您使用的是Java 7或更早版本,solution of @Marv是最简单的。

答案 1 :(得分:5)

您可以迭代Map

的值
ArrayList<Object2> list = new ArrayList<>();

for (MyClass e : map.values()) {
    list.add(e.objj);
}

答案 2 :(得分:4)

结帐以下:

How to convert a Map to List in Java?

它为您的问题提供了一个衬管摘录。

List<Object2> list = new ArrayList<Object2>(map.values());

假设:

Map<Integer, MyClass> map;