zoukankan      html  css  js  c++  java
  • Java 8 – Convert Map to LIST

    Java 8 – Convert Map to LIST

    Few Java examples to convert a Map to a List

    Map<String, String> map = new HashMap<>();

    // Convert all Map keys to a List
    List<String> result = new ArrayList(map.keySet());

    // Convert all Map values to a List
    List<String> result2 = new ArrayList(map.values());

    // Java 8, Convert all Map keys to a List
    List<String> result3 = map.keySet().stream()
    .collect(Collectors.toList());

    // Java 8, Convert all Map values to a List
    List<String> result4 = map.values().stream()
    .collect(Collectors.toList());

    // Java 8, seem a bit long, but you can enjoy the Stream features like filter and etc.
    List<String> result5 = map.values().stream()
    .filter(x -> !"apple".equalsIgnoreCase(x))
    .collect(Collectors.toList());

    // Java 8, split a map into 2 List, it works!
    // refer example 3 below

    1. Map To List
    For a simple Map to List conversion, just uses the below code :

    ConvertMapToList.java
    package com.mkyong;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    public class ConvertMapToList {

    public static void main(String[] args) {

    Map<Integer, String> map = new HashMap<>();
    map.put(10, "apple");
    map.put(20, "orange");
    map.put(30, "banana");
    map.put(40, "watermelon");
    map.put(50, "dragonfruit");

    System.out.println(" 1. Export Map Key to List...");

    List<Integer> result = new ArrayList(map.keySet());

    result.forEach(System.out::println);

    System.out.println(" 2. Export Map Value to List...");

    List<String> result2 = new ArrayList(map.values());

    result2.forEach(System.out::println);

    }

    }

    Output

    1. Export Map Key to List...
    50
    20
    40
    10
    30

    2. Export Map Value to List...
    dragonfruit
    orange
    watermelon
    apple
    banana

    Java 8 – Map To List
    For Java 8, you can convert the Map into a stream, process it and returns it back as a List

    ConvertMapToList.java
    package com.mkyong;

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

    public class ConvertMapToList {

    public static void main(String[] args) {

    Map<Integer, String> map = new HashMap<>();
    map.put(10, "apple");
    map.put(20, "orange");
    map.put(30, "banana");
    map.put(40, "watermelon");
    map.put(50, "dragonfruit");

    System.out.println(" 1. Export Map Key to List...");

    List<Integer> result = map.keySet().stream()
    .collect(Collectors.toList());

    result.forEach(System.out::println);

    System.out.println(" 2. Export Map Value to List...");

    List<String> result2 = map.values().stream()
    .collect(Collectors.toList());

    result2.forEach(System.out::println);

    System.out.println(" 3. Export Map Value to List..., say no to banana");
    List<String> result3 = map.keySet().stream()
    .filter(x -> !"banana".equalsIgnoreCase(x))
    .collect(Collectors.toList());

    result3.forEach(System.out::println);

    }

    }

    Output

    1. Export Map Key to List...
    50
    20
    40
    10
    30

    2. Export Map Value to List...
    dragonfruit
    orange
    watermelon
    apple
    banana

    3. Export Map Value to List..., say no to banana
    dragonfruit
    orange
    watermelon
    apple

    3. Java 8 – Convert Map into 2 List
    This example is a bit extreme, uses map.entrySet() to convert a Map into 2 List

    ConvertMapToList.java
    package com.mkyong;

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

    //https://www.mkyong.com/java8/java-8-how-to-sort-a-map/
    public class ConvertMapToList {

    public static void main(String[] args) {

    Map<Integer, String> map = new HashMap<>();
    map.put(10, "apple");
    map.put(20, "orange");
    map.put(30, "banana");
    map.put(40, "watermelon");
    map.put(50, "dragonfruit");

    // split a map into 2 List
    List<Integer> resultSortedKey = new ArrayList<>();
    List<String> resultValues = map.entrySet().stream()
    //sort a Map by key and stored in resultSortedKey
    .sorted(Map.Entry.<Integer, String>comparingByKey().reversed())
    .peek(e -> resultSortedKey.add(e.getKey()))
    .map(x -> x.getValue())
    // filter banana and return it to resultValues
    .filter(x -> !"banana".equalsIgnoreCase(x))
    .collect(Collectors.toList());

    resultSortedKey.forEach(System.out::println);
    resultValues.forEach(System.out::println);

    }

    }

    Output

    //resultSortedKey
    50
    40
    30
    20
    10

    //resultValues
    dragonfruit
    watermelon
    orange
    apple

    http://www.mkyong.com/java8/java-8-convert-map-to-list/

  • 相关阅读:
    jQuery中$.each()方法的使用
    点击分享功能
    localStorage使用总结
    核桃说笔记2
    php 微信模板消息发送
    报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated UXXXXXXXX escape
    报错:Cannot remove entries from nonexistent file c:program filesanaconda3libsite-packageseasy-install.pth
    Pycharm如何修改背景图(BackgroundColor)
    git 设置 .gitignore 为全局global + 配置.gitignore为全局后不生效解决办法
    Windows Server 2016 下执行定时任务(英文系统)
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/10024987.html
Copyright © 2011-2022 走看看