`
bugyun
  • 浏览: 559035 次
社区版块
存档分类
最新评论

Java8 List、Map、数组互转

    博客分类:
  • Java
 
阅读更多

CollectionMy.java

 

import constant.Collect;
import entity.User;

import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class CollectionMy {


    public static void main(String[] args) {
//        String[] arrays = {"hello"," , ","world"};
//
//        System.out.println(arrayToList1(arrays));
//        System.out.println(arrayToList2(arrays));
//        System.out.println(listToArray1(arrayToList2(arrays)));
//        System.out.println(listToArray2(arrayToList2(arrays)));
//
//        Map<Integer, User> result = listToMap1(Collect.listEntiyChina);
//        System.out.println(result);
//        Map<Integer, User> result = listToMap2(Collect.listEntiyChina);
//        System.out.println(result);
//        sortList(Collect.listEntiyJapan);
//
        Map<Integer, List<User>> result = listToMap4(Collect.listEntiyJapan);
        System.out.println(result);



        Map<String,Integer> mapRepeat = new HashMap<>();

    }

    /**
     * Java8 数组转为List
     * @param arrays
     * @return
     */
    public static List<String> arrayToList1(String[] arrays) {
        List<String> result = Stream.of(arrays).collect(Collectors.toList());

        return result;
    }


    /**
     * Java8 List转为数组
     * @param list
     * @return
     */
    public static String[] listToArray1( List<String> list) {
        String[] result = list.stream().toArray(String[]::new);
        Arrays.stream(result).forEach(str -> System.err.println(str));
        return result;
    }

    /**
     * Java8 List转为Map
     *  ID 必须为唯一性
     * @param list
     * @return
     */
    public static Map<Integer, User> listToMap1(List<User> list) {
        Map<Integer, User> result = list.stream().collect(Collectors.toMap(e -> e.getId(), Function.identity()));
        return result;
    }
    /**
     * Java8 List转为Map
     *  ID 必须为唯一性
     * @param list
     * @return
     */
    public static Map<Integer, User> listToMap2(List<User> list) {
        Map<Integer, User> result = list.stream().collect(Collectors.toMap(User::getId, user->user));
        return result;
    }
    /**
     * Java8 List转为Map
     *  ID重复分组
     * @param list
     * @return
     */
    public static Map<Integer, List<User>> listToMap3(List<User> list) {
        Map<Integer, List<User>> result = list.stream().collect(Collectors.groupingBy(User::getId));
        return result;
    }

    /**
     * Java8 List转为Map
     *  根据年龄排序后,再根据ID重复分组
     * @param list
     * @return
     */
    public static Map<Integer, List<User>> listToMap4(List<User> list) {
        Collections.sort(list, Comparator.comparing(User::getId).thenComparing(User::getAge));
        list.forEach(System.out::println);
        System.out.println("----------------");
        Map<Integer, List<User>> result = list.stream().collect(Collectors.groupingBy(User::getId));
        return result;
    }

    public static void sortList(List<User> list) {
        Collections.sort(list, Comparator.comparing(User::getId).thenComparing(User::getAge));
        list.forEach(System.out::println);
    }

    public static List<String> arrayToList2(String[] arrays) {
        List<String> result = Arrays.asList(arrays);
        return result;
    }


    public static String[] listToArray2( List<String> list) {
        String[] result = list.toArray(new String[list.size()]);
        return result;
    }

 

 

Collect.java

 

import java.util.ArrayList;
import java.util.List;

/**
 * @program: java8
 * @description:
 * @author: bugyun
 * @create: 2018-11-05 10:02
 */
public class Collect {



    public final static List<String> listStr = new ArrayList<>();
    public final static List<Integer> listInt = new ArrayList<>();
    public final static List<User> listEntiyJapan = new ArrayList<>();
    public final static List<User> listEntiyChina = new ArrayList<>();

    static {
        listStr.add("Google");
        listStr.add("Facebook");
        listStr.add("Microsoft");
        listStr.add("IBM");
        listStr.add("Yahoo");

/////////////////////////////////////////////
        listInt.add(25);
        listInt.add(21);
        listInt.add(50);
        listInt.add(21);
        listInt.add(50);
/////////////////////////////////////////////
        User one = new User();
        one.setId(111);
        one.setName("tom");
        one.setPassword("123456");
        one.setAge(111112);

        User two = new User();
        two.setId(122);
        two.setName("jack");
        two.setPassword("123456");
        two.setAge(111111);

        User three = new User();
        three.setId(333);
        three.setName("lisa");
        three.setPassword("123456");
        three.setAge(111114);


        User four = new User();
        four.setId(122);
        four.setName("2j2ack2");
        four.setPassword("123456");
        four.setAge(111113);

        listEntiyJapan.add(four);
        listEntiyJapan.add(three);
        listEntiyJapan.add(one);
        listEntiyJapan.add(two);
////////////////////////////////////////////

        User one1 = new User();
        one1.setId(9000);
        one1.setName("zhangsan");
        one1.setPassword("123456");

        User two1 = new User();
        two1.setId(9001);
        two1.setName("wangwu");
        two1.setPassword("123456");

        User three1 = new User();
        three1.setId(9002);
        three1.setName("zhaoliu");
        three1.setPassword("123456");

        listEntiyChina.add(three1);
        listEntiyChina.add(one1);
        listEntiyChina.add(two1);

    }


}

 

 

User.java

public class User {

    private Integer id ;
    private  String name ;
    private String password ;
    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                '}';
    }
}

 

 

<audio controls="controls" style="display: none;"></audio>

分享到:
评论

相关推荐

    在Java 8中将List转换为Map对象方法

    在Java 8中将List转换为Map对象方法 在Java 8中,将List转换为Map对象是一种非常实用的技术,特别是在处理大规模数据时非常有用。本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 ...

    java list,set,map,数组间的相互转换详解

    在Java编程语言中,数据结构之间转换是常见的需求,尤其是集合框架中的List、Set和Map以及数组。本文将深入探讨这些数据结构之间的转换方法,并提供相关的实例代码。 1. **List转Set** 要将一个List转换为Set,...

    list,set,map,数组间的相互转换

    根据提供的标题、描述、标签及部分内容,我们可以详细探讨在Java中如何实现`List`、`Set`、`Map`以及数组之间的相互转换。这是一项在实际编程中非常实用且常见的需求,尤其对于处理数据结构变换时极为重要。 ### 1....

    Java map存放数组并取出值代码详解

    Java map存放数组并取出值代码详解 Java map是Java编程语言中的一种常用的数据结构,用于存储键值对形式的数据。在Java中,map可以存放数组,并且可以通过不同的方法来取出值。本文将详细介绍Java map存放数组并...

    测试报告与总结\list,set,map,数组间的相互转换

    测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar测试报告与总结\list,set,map,数组间的相互转换.rar

    List<Long>转一维数组 Long[](csdn)————程序.pdf

    在标题和描述中提到的"List转一维数组 Long[]",就是将一个包含Long类型的列表转换为对应的Long数组。这里我们将详细探讨如何进行这种转换,并了解相关的编程概念。 首先,让我们看下给定的代码片段: ```java /*...

    java 遍历Map及Map转化为二维数组的实例

    "java 遍历Map及Map转化为二维数组的实例" 在 Java 编程语言中,遍历 Map 及将其转化为二维数组是一种常见的操作。本文将详细介绍如何使用 Java 遍历 Map 及将其转化为二维数组,并提供实例代码以供参考。 1. 使用...

    java后台list集合转XML格式数据

    java后台从数据库读取 数据,封装到list集合,控制层转化为XML格式数据

    List&lt;map&gt;多字段组合排序

    List&lt;map&gt;,List&lt;Map, Object&gt;&gt;,多字段组合排序。提供一个简易的思路,如果需要进行参考。

    Map拆分List拆分

    例如,Java 8引入的Stream API提供了丰富的操作符,可以方便地对Map和List进行拆分。 总的来说,Map拆分和List拆分是大数据处理中的重要技巧,它们有助于优化数据处理的并行性和效率。通过合理地拆分数据,可以充分...

    list,set,map,数组之间的相互转换详细解析

    在Java编程语言中,数据结构是程序设计的基础,其中list(列表)、set(集合)、map(映射)和数组是常见的四种数据结构。它们各有特点,适用于不同的场景,并且可以相互转换以满足不同需求。下面将详细介绍这四种...

    Java程序设计 3 数组与集合 简图.ppt

    本节课我们学习了Java程序设计中的数组和集合,了解了数组和集合的区别和联系,并学习了List、Set、Map接口的特点和应用场景。同时我们还学习了如何实现集合的基本方法。 思考考 1. 什么是数组?数组的特点是什么...

    dwr练习实例(各种数据转换list,map,数组等)

    这个"dwR练习实例(各种数据转换list,map,数组等)"是一个用于学习DWR如何处理和转换不同数据类型的教程。在这个实例中,我们将探讨DWR如何处理List、Map以及数组等常见的数据结构。 首先,让我们理解DWR的核心功能。...

    Java中的Map&List;

    Java中的Map&List Map和List是Java中两个最基本的数据结构,广泛应用于各种 Java 应用程序中。本文将详细介绍Map和List的概念、实现类、方法和应用场景。 List接口 List接口是Java中的一个基本接口,用于存储一组...

    java中jython操作把python数据类型转成java类型

    List&lt;String&gt; javaList = (List) pythonList.__tojava__(List.class); ``` 这里,`__tojava__`方法将Python的list转换为Java的List。 2. Python Dict到Java Map: 类似地,Python的dict可以转换为Java的Map: ``...

    java行转列的例子

    在Java中实现行转列,通常涉及数据结构的转换,如从List&lt;List&lt;String&gt;&gt;转换为List,或者更复杂地,从Map, Object&gt;到自定义对象的集合。以下是一些关键知识点: 1. 数据结构理解: - **List**: Java中的List接口...

    Java 集合与数组

    Java 集合与数组 Java 集合与数组是 Java 编程语言中两个非常重要的概念。集合和数组都是用于存储和管理数据的数据结构,但它们有着不同的特点和使用场景。 集合 集合是一系列对象的聚集,实际上是用一个对象代表...

    java中数组list map三者之间的互转介绍

    在Java编程中,数组、List和Map是三种常见的数据结构,它们各有特点并适用于不同的场景。数组是最基础的数据结构,提供了固定大小的存储空间,通过索引访问元素;List是集合框架的一部分,允许动态增长,提供了按...

    js模拟list和map

    java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 &lt;br&gt;List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 removeAll() //删除所有...

    Java程序设计 3 数组与集合.pptx

    Java程序设计之数组与集合 Java程序设计第三章:数组与集合 数组是一组具有相同类型的有序数据的集合。数组中的一个数据成员称为数组元素。数组生成后,数组长度不可改变。 arrays的定义与初始化 * 声明:int ...

Global site tag (gtag.js) - Google Analytics