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);
    }
}


相关文章
|
2天前
|
设计模式 缓存 Java
重学Java基础篇—Java对象创建的7种核心方式详解
本文全面解析了Java中对象的创建方式,涵盖基础到高级技术。包括`new关键字`直接实例化、反射机制动态创建、克隆与反序列化复用对象,以及工厂方法和建造者模式等设计模式的应用。同时探讨了Spring IOC容器等框架级创建方式,并对比各类方法的适用场景与优缺点。此外,还深入分析了动态代理、Unsafe类等扩展知识及注意事项。最后总结最佳实践,建议根据业务需求选择合适方式,在灵活性与性能间取得平衡。
38 3
|
6天前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
9天前
|
存储 算法 安全
Java对象创建和访问
Java对象创建过程包括类加载检查、内存分配(指针碰撞或空闲列表)、内存初始化、对象头设置及初始化方法执行。访问方式有句柄和直接指针两种,前者稳定但需额外定位,后者速度快。对象创建涉及并发安全、垃圾回收等机制。
Java对象创建和访问
|
6天前
|
Web App开发 存储 前端开发
别再用双层遍历循环来做新旧数组对比,寻找新增元素了!使用array.includes和Set来提升代码可读性
这类问题的重点在于能不能突破基础思路,突破基础思路是从程序员入门变成中级甚至高级的第一步,如果所有需求都通过最基础的业务逻辑来做,是得不到成长的。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
1月前
|
存储 Java
Java中判断一个对象是否是空内容
在 Java 中,不同类型的对象其“空内容”的定义和判断方式各异。对于基本数据类型的包装类,空指对象引用为 null;字符串的空包括 null、长度为 0 或仅含空白字符,可通过 length() 和 trim() 判断;集合类通过 isEmpty() 方法检查是否无元素;数组的空则指引用为 null 或长度为 0。
|
2月前
|
安全 Java
Object取值转java对象
通过本文的介绍,我们了解了几种将 `Object`类型转换为Java对象的方法,包括强制类型转换、使用 `instanceof`检查类型和泛型方法等。此外,还探讨了在集合、反射和序列化等常见场景中的应用。掌握这些方法和技巧,有助于编写更健壮和类型安全的Java代码。
65 17
|
6月前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
6月前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
7月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
7月前
|
Java
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。