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

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等集合。不需要引用其它中间...

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

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

    set.list.map接口

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

    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面向对象之...

    将List集合中的map对象转为List&lt;对象&gt;形式实例代码

    主要介绍了将List集合中的map对象转为List&lt;对象&gt;形式实例代码,具有一定借鉴价值,需要的朋友可以参考下

    达内 CoreJava老师笔记汇总

    CoreJava DAY03 数组 20 CoreJava DAY04 27 CoreJava DAY05 面向对象 31 CoreJava DAY06 类的加载过程、实例化、继承、多态 37 CoreJava DAY07修饰符 50 CoreJava DAY08 常用类 56 CoreJava DAY09 高级语言特征 58 ...

Global site tag (gtag.js) - Google Analytics