Java对象,Map,List,Set数组等相互转换大全(详细讲解,附代码,讲解案例)(二)

简介: Java对象,Map,List,Set数组等相互转换大全(详细讲解,附代码,讲解案例)(二)

List和Array的转换


package com.example.面向对象1;
import java.util.*;
public class listdemo2 {
    public static void main(String[] args) {
        //  List转换为Array
        List<String> list1 = new ArrayList<>();
        list1.add("AAAA");
        list1.add("BBBB");
        list1.add("CCCC");
        list1.add("DDDD");
        String[] array = list1.toArray(new String[list1.size()]);
        for (String animal : array) {
            System.out.println(animal);
        }
        //Array转换为List
        String[] countries = {"AAAA", "BBBB", "CCCC", "DDDD"};
        List list2 = Arrays.asList(countries);
        System.out.println(list2);
    }
}



List转换为JSONArray,List转JSONArray


package com.example.democrud.democurd.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class indexof {
    public static void main(String[] args) {
        //  List转换为JSONArray
        List<String> list1 = new ArrayList<>();
        list1.add("AAAA");
        list1.add("BBBB");
        list1.add("CCCC");
        list1.add("DDDD");
        String[] array = list1.toArray(new String[list1.size()]);
        for (String animal : array) {
            System.out.println(animal);
        }
        System.out.println("List转换为JSONArray");
        JSONArray array1= JSONArray.parseArray(JSON.toJSONString(list1));
        System.out.println("List转换为JSONArray"+array1);
        System.out.println("---------------------------------");
        //创建一个对象
        User user1 = new User("秦疆1号", 3, "男");
        User user2 = new User("秦疆2号", 3, "男");
        User user3 = new User("秦疆3号", 3, "男");
        User user4 = new User("秦疆4号", 3, "男");
        List<User> list = new ArrayList<User>();
        list.add(user1);
        list.add(user2);
        list.add(user3);
        list.add(user4);
            System.out.println(list);
        System.out.println("List转换为JSONArray");
        JSONArray array3= JSONArray.parseArray(JSON.toJSONString(list));
        System.out.println("List转JSONArray"+array3);
        System.out.println("---------------------------------");
        List<User> list2 = JSONObject.parseArray(array3.toJSONString(), User.class);
        System.out.println("JSONArray转List"+list2);
    }
}


运行结果:

AAAA
BBBB
CCCC
DDDD
List转换为JSONArray
List转换为JSONArray["AAAA","BBBB","CCCC","DDDD"]
---------------------------------
[User(name=秦疆1号, age=3, sex=男), User(name=秦疆2号, age=3, sex=男), User(name=秦疆3号, age=3, sex=男), User(name=秦疆4号, age=3, sex=男)]
List转换为JSONArray
List转JSONArray[{"sex":"男","name":"秦疆1号","age":3},{"sex":"男","name":"秦疆2号","age":3},{"sex":"男","name":"秦疆3号","age":3},{"sex":"男","name":"秦疆4号","age":3}]
---------------------------------
JSONArray转List[User(name=秦疆1号, age=3, sex=男), User(name=秦疆2号, age=3, sex=男), User(name=秦疆3号, age=3, sex=男), User(name=秦疆4号, age=3, sex=男)]


Map转换为List


package com.example.demo.controller.Demo;
import com.example.demo.entity.User;
import org.apache.commons.beanutils.BeanUtils;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class demoTest3 {
    public static void main(String[] args) {
        //  Map的Key值转换为List
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "AAAA");
        map.put(2, "BBBB");
        map.put(3, "CCCC");
        map.put(4, "DDDD");
        List<Integer> list = new ArrayList<Integer>(map.keySet());
        System.out.println("\n******  Map的Key值转换为List ******");
        System.out.println("map.keySet()==>" + list);
        //  Map的Value值转换为List
        Map<Integer, String> map1 = new HashMap<>();
        map1.put(1, "AAAA");
        map1.put(2, "BBBB");
        map1.put(3, "CCCC");
        map1.put(4, "DDDD");
        List<String> list1 = new ArrayList<String>(map.values());
        System.out.println("\n******  Map的Value值转换为List ******");
        System.out.println("map.values()==>" + list1);
    }
}



Map转换为Set


package com.example.demo.controller.Demo;
import com.example.demo.entity.User;
import org.apache.commons.beanutils.BeanUtils;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.*;
public class demoTest3 {
    public static void main(String[] args) {
        //  Map的Key值转换为List
        Map<Integer,String> map = new HashMap<>();
        map.put(1,"AAAA");
        map.put(2,"BBBB");
        map.put(3,"CCCC");
        map.put(4,"DDDD");
        Set<Integer> set = new HashSet<>(map.keySet());
        System.out.println("\n******  Map的Key值转换为Set ******");
        System.out.println("map.keySet()==>" + set);
       // Map的Value值转换为Set
        Map<Integer,String> map1 = new HashMap<>();
        map1.put(1,"AAAA");
        map1.put(2,"BBBB");
        map1.put(3,"CCCC");
        map1.put(4,"DDDD");
        Set<String> set1 = new HashSet<String>(map.values());
        System.out.println("\n******  Map的Value值转换为Set ******");
        System.out.println("map.values()==>" + set1);
    }
}


相关文章
|
存储 缓存 Java
Java数组全解析:一维、多维与内存模型
本文深入解析Java数组的内存布局与操作技巧,涵盖一维及多维数组的声明、初始化、内存模型,以及数组常见陷阱和性能优化。通过图文结合的方式帮助开发者彻底理解数组本质,并提供Arrays工具类的实用方法与面试高频问题解析,助你掌握数组核心知识,避免常见错误。
|
11月前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
存储 Java 索引
java 数组
在 Java 中,数组是一种数据结构,用于存储多个相同类型的数据元素。数组的大小一旦创建后就不能改变,因此它是固定长度的。Java 数组是一种 对象,即使它存储的值是基本类型(如 int、double 等),它也是一个对象引用。
278 0
|
存储 人工智能 Java
打乱数组内容引发的问题( Java)
本文介绍了两种实现数组随机打乱的方法,并深入探讨了Java中原始数据类型与对象类型的差异。方法一通过自定义随机数交换数组元素位置,方法二借助`Collections.shuffle()`函数完成数组打乱。同时,文章详细解析了`int`和`Integer`的区别,包括声明方式、内存占用、初始化以及对象特性等,并讲解了自动装箱与拆箱的功能,帮助读者更好地理解Java的基础知识。
274 0
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
1207 0
|
存储 Java 数据挖掘
Java 中数组的多种定义方式
本文深入解析了Java中数组的多种定义方式,涵盖基础的`new`关键字创建、直接初始化、动态初始化,到多维数组、`Arrays.fill()`方法以及集合类转换为数组等高级用法。通过理论与实践结合的方式,探讨了每种定义方法的适用场景、优缺点及其背后的原理,帮助开发者掌握高效、灵活的数组操作技巧,从而编写更优质的Java代码。
836 0
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
2304 1
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
661 1

热门文章

最新文章