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 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList&lt;&gt;()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
1018 1
Java 中数组Array和列表List的转换
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
1114 0
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
1712 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
490 20
|
存储 算法 Java
Java Set深度解析:为何它能成为“无重复”的代名词?
Java的集合框架中,Set接口以其“无重复”特性著称。本文解析了Set的实现原理,包括HashSet和TreeSet的不同数据结构和算法,以及如何通过示例代码实现最佳实践。选择合适的Set实现类和正确实现自定义对象的hashCode()和equals()方法是关键。
238 4
|
Java
那些与Java Set擦肩而过的重复元素,都经历了什么?
在Java的世界里,Set如同一位浪漫而坚定的恋人,只对独一无二的元素情有独钟。重复元素虽屡遭拒绝,但通过反思和成长,最终变得独特,赢得了Set的认可。示例代码展示了这一过程,揭示了成长与独特性的浪漫故事。
152 4
|
Java 开发者
Java Set:当“重复”遇见它,秒变“独宠”!
在Java编程中,Set接口确保集合中的元素不重复,每个元素都是独一无二的“独宠”。本文介绍了Set的两种常见实现:HashSet和TreeSet。HashSet基于哈希表实现,提供高效的添加、删除和查找操作;TreeSet基于红黑树实现,不仅去重还能对元素进行排序。通过示例代码,展示了这两种集合的具体应用,帮助开发者更好地理解和使用Set。
189 4
|
存储 Java 开发者
Java Set:无序之美,不重复之魅!
在Java的集合框架中,Set接口以其“无序之美”和“不重复之魅”受到开发者青睐。Set不包含重复元素,不保证元素顺序,通过元素的hashCode()和equals()方法实现唯一性。示例代码展示了如何使用HashSet添加和遍历元素,体现了Set的高效性和简洁性。
227 4
|
存储 算法 Java
为什么Java Set如此“挑剔”,连重复元素都容不下?
在Java的集合框架中,Set是一个独特的接口,它严格要求元素不重复,适用于需要唯一性约束的场景。Set通过内部数据结构(如哈希表或红黑树)和算法(如哈希值和equals()方法)实现这一特性,自动过滤重复元素,简化处理逻辑。示例代码展示了Set如何自动忽略重复元素。
221 1