在 Java 中将 map 值转换为列表

Sarwan Soomro 2023年10月12日
  1. 在 Java 中定义要转换为列表的 map
  2. 在 Java 中使用 Collectors 流将 map 转换为列表
在 Java 中将 map 值转换为列表

本教程将执行三个程序来展示如何将 Hashmap 值转换为 Java 中的列表。

在 Java 中定义要转换为列表的 map

在将 map 值转换为列表之前,我们必须先拥有一个 map 对象,然后为其分配两种数据类型:整数(键)和字符串(值),然后再将其分组为列表。

该程序中的键是汽车的 RPM 值,而字符串是它们的颜色。

语法:

Map<Integer, String> M2L = new HashMap<>();
M2L.put(5000, "Toyata Black");
M2L.put(6000, "Audi White");
M2L.put(8000, "BMW Red");
M2L.put(12000, "Buggati Silver");

在 Java 中使用 Collectors 流将 map 转换为列表

Collectors 是在 Java 中扩展对象的公共类。它们还帮助收集元素并根据用户预定义的各种基准来总结特征。

在这里,我们使用 keySet() 方法通过从 map 返回的集合创建数组列表来获取键。

查看以下示例,该示例将 map 转换为列表。

示例 1:

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MapToList {
  public static void main(String[] args) {
    Map<Integer, String> M2L = new HashMap<>();
    M2L.put(1, "New York");
    M2L.put(2, "Toronto");
    M2L.put(3, "Berlin");
    List<Integer> ID = M2L.keySet().stream().collect(Collectors.toList());
    ID.forEach(System.out::println);
    List<String> NAME = M2L.values().stream().collect(Collectors.toList());
    NAME.forEach(System.out::println);
  }
}

输出:

1
2
3
New York
Toronto
Berlin

在我们的第二个示例中考虑以下代码。

语法:

List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());

示例 2:

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MaptoListExample2 {
  public static void main(String[] args) {
    Map<Integer, String> maptolist = new HashMap<>();
    maptolist.put(1, "This");
    maptolist.put(2, "Is");
    maptolist.put(3, "A");
    maptolist.put(4, "Demo");
    maptolist.put(5, "Example");
    List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
    System.out.println("Keys:");
    nums.forEach(System.out::println);
    // Conversion Strings
    List<String> chars = maptolist.values().stream().collect(Collectors.toList());
    System.out.println("Values:");
    chars.forEach(System.out::println);
  }
}

输出:

Keys:
1
2
3
4
5
Values:
This
Is
A
Demo
Example

现在我们已经了解了 map 和列表背后的底层逻辑并使用了对象 Collectors 的组合,下面是一个可靠的 map 到列表程序,它可以在任何情况下工作。

keySet() 函数返回 map 中键的集合视图,以便 map 修改也适用于该集合。在这里,我们在一个 wrap 中形成一对来获得一个键列表,如下所示。

语法:

List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());

示例 3:

package maptolist;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapToListExample3 {
  public static void main(String[] args) {
    // Define Map
    Map<String, String> MAP2LIST = new HashMap<String, String>();
    // Values (key as values)
    MAP2LIST.put("1 + 1", "TWO");
    MAP2LIST.put("10 - 5", "FIVE");
    MAP2LIST.put("2.4 + 3.6", "SIX");
    // Define list
    List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
    // foreach function extends setkey and prints the output
    setkey.forEach(System.out::println);
    List<String> setvalue = new ArrayList<String>(MAP2LIST.values());
    setvalue.forEach(System.out::println);
  }
}

输出:

10 - 5
1 + 1
2.4 + 3.6
FIVE
TWO
SIX
作者: Sarwan Soomro
Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

相关文章 - Java List

相关文章 - Java Map