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

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 list,set,map,数组间的相互转换详解

    主要介绍了java list,set,map,数组间的相互转换详解的相关资料,这里附有实例代码,具有参考价值,需要的朋友可以参考下

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

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

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

    主要介绍了java 遍历Map及Map转化为二维数组的实例的相关资料,希望通过本文能帮助到大家,实现这样的功能,需要的朋友可以参考下

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

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

    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中数组list map三者之间的互转介绍

    java中 数组 list map之间的互转一张图清晰呈现并附有代码,不懂的朋友可以参考下

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

    以下是对Java中list,set,map,数组之间的相互转换进行了详细的分析介绍,需要的朋友可以过来参考下

    数组,List 重复元素统计数量,找出唯一的元素

    两种不同方式(使用map和list两种方式)获得一下输出结果 数组和list 可以使用相同的方法,自己测试可以 控制台输出 1出现的次数:2 2出现的次数:2 3出现的次数:2 4出现的次数:3 5出现的次数:1 数组中唯一的元素是:...

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

    java中jython操作把python数据类型转成java类型 例如list-&gt;List dict-&gt;Map set-&gt;Set 以及一些基本操作的包装整合

    Java JSON与Object互转源代码

    高效的JSON与Object互转的工具源代码,如果JSON数据未按该工具规定的数据格式转化成对象,将转化成java.util.Map实例。 (比JSON官方的API更适用。支持对象之间的多级引用,支持Map, List等集合。不需要引用其它中间...

    javaScript如何处理从java后台返回的list

    事情: 从java后台返回List类型数据,用于界面显示。但js中想获取它并操作它。...将list转成js数组。 我的代码: 代码如下: var keyList = eval&#40;‘${keysList}’&#41;; var values = $(“#paramsValues”).val

    Java中List、ArrayList、Vector及map、HashTable、HashMap分别的区别.

    Java中List、ArrayList、Vector及map、HashTable、HashMap分别的区别.

    set.list.map接口

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2.List(列表&lt;接口&gt;)以线性方式存储,有序,允许重复主要实现类有LinkList(采用链表数据结构)和ArrayList(代表可大可小的数组) Eg: ...

    Spring MVC不能直接接收list类型参数的问题

    前端使用jquery向后台传递数组类型的参数,Java后台直接通过List类型接收,会发现无法取到参数。

    java常用代码

    12.ArrayConvers.java 数组与map/list的转换 13.NumberCalc.java 对数字进行操作 14.ServerConn.java与ClientConn 先运行ServerConn.java 介绍了socket的通信 15.Arithmetic.java 排序算法之冒泡 16.CompareObj....

    java面试宝典

    coreJava部分 8 1、面向对象的特征有哪些方面? 8 2、作用域public,private,protected,以及不写时的区别? 8 3、String 是最基本的数据类型吗? 8 4、float 型float f=3.4是否正确? 8 5、语句float f=1.3;编译能否...

    达内Java培训-CoreJava全程笔记(WORD唐亮版)

    CoreJava DAY03 数组 11 CoreJava DAY04 15 CoreJava DAY05 面向对象 17 CoreJava DAY06 类的加载过程、实例化、继承、多态 20 CoreJava DAY07修饰符 26 CoreJava DAY08 常用类 29 CoreJava DAY09 高级语言特征 30 ...

    Java中的list、set和map详解

     数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不...

    JAVA SE 开发手册.CHM

    6、JAVA数组及查找和排序 7、JAVA面向对象之三大特性 8、JAVA面向对象之函数、堆和栈、访问修饰符 9、JAVA面向对象关键字 10、JAVA面向对象抽象类abstract 11、JAVA面向对象接口interface 12、JAVA面向对象之...

Global site tag (gtag.js) - Google Analytics