java list,set,map,数组间的相互转换详解

 更新时间:2017年01月19日 14:31:06   投稿:lqh  
这篇文章主要介绍了java list,set,map,数组间的相互转换详解的相关资料,这里附有实例代码,具有参考价值,需要的朋友可以参考下

java list,set,map,数组间的相互转换详解

1.list转set

Set set = new HashSet( new ArrayList()); 
 

2.set转list

List list = new ArrayList( new HashSet()); 

 3.数组转为list

List stooges = Arrays.asList( "Larry" , "Moe" , "Curly" ); 

 此时stooges中有有三个元素。注意:此时的list不能进行add操作,否则会报 “java.lang.UnsupportedOperationException”,Arrays.asList()返回的是List,而且是一个定 长的List,所以不能转换为ArrayList,只能转换为AbstractList

原因在于asList()方法返回的是某个数组的列表形式,返回的列表只是数组的另一个视图,而数组本身并没有消失,对列表的任何操作最终都反映在数组上. 所以不支持remove,add方法的 

String[] arr = { "1" , "2" }; 
List list = Arrays.asList(arr); 

4.数组转为set

int [] a = { 1 , 2 , 3 }; 
Set set = new HashSet(Arrays.asList(a)); 

5.map的相关操作。

Map map = new HashMap(); 
map.put("1" , "a" ); 
map.put('2' , 'b' ); 
map.put('3' , 'c' ); 
System.out.println(map); 
// 输出所有的值  
System.out.println(map.keySet()); 
// 输出所有的键  
System.out.println(map.values()); 
// 将map的值转化为List  
List list = new ArrayList(map.values()); 
System.out.println(list); 
// 将map的值转化为Set  
Set set = new HashSet(map.values()); 
System.out.println(set); 

 6.list转数组

List list = Arrays.asList( "a" , "b" ); 
System.out.println(list); 
     
String[] arr = (String[])list.toArray(new String[list.size()]); 
System.out.println(Arrays.toString(arr)); 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Java中ReentrantLock和ReentrantReadWriteLock的原理

    Java中ReentrantLock和ReentrantReadWriteLock的原理

    这篇文章主要介绍了Java中ReentrantLock和ReentrantReadWriteLock的原理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • java中的空指针异常情况以及解决方案

    java中的空指针异常情况以及解决方案

    这篇文章主要介绍了java中的空指针异常情况以及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • mybatis分页绝对路径写法过程详解

    mybatis分页绝对路径写法过程详解

    这篇文章主要介绍了mybatis分页绝对路径写法过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java 中不全部使用 Static 方法的理由

    Java 中不全部使用 Static 方法的理由

    这篇文章主要介绍了Java 中不全部使用 Static 方法的理由,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • spring boot整合RabbitMQ(Direct模式)

    spring boot整合RabbitMQ(Direct模式)

    springboot集成RabbitMQ非常简单,如果只是简单的使用配置非常少,springboot提供了spring-boot-starter-amqp项目对消息各种支持。下面通过本文给大家介绍下spring boot整合RabbitMQ(Direct模式),需要的朋友可以参考下
    2017-04-04
  • springboot对接微信支付的完整流程(附前后端代码)

    springboot对接微信支付的完整流程(附前后端代码)

    最近在做支付平台的项目,承接公司业务系统与第三方支付平台的对接任务,主要涉及微信支付、支付宝支付以及理房通支付等第三方平台,这篇文章主要给大家介绍了关于springboot对接微信支付的完整流程,需要的朋友可以参考下
    2021-08-08
  • Java SimpleDateFormat中英文时间格式化转换详解

    Java SimpleDateFormat中英文时间格式化转换详解

    这篇文章主要为大家详细介绍了Java SimpleDateFormat中英文时间格式化转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java的非对称加密(RSA、数字签名、数字证书)详解

    Java的非对称加密(RSA、数字签名、数字证书)详解

    这篇文章主要介绍了Java的非对称加密(RSA、数字签名、数字证书)详解,非对称加密:加密、解密使用不同的两把密钥,这两把密钥成对,一般通信开始时通过非对称加密将对称加密的密钥发送给另一方,然后双方通过对称加密来进行沟通,需要的朋友可以参考下
    2024-01-01
  • 关于SpringBoot拦截器中Bean无法注入的问题

    关于SpringBoot拦截器中Bean无法注入的问题

    这两天遇到SpringBoot拦截器中Bean无法注入问题。下面介绍关于SpringBoot拦截器中Bean无法注入的问题,感兴趣的朋友一起看看吧
    2021-10-10
  • SpringBoot+MinIO实现文件切片极速详解

    SpringBoot+MinIO实现文件切片极速详解

    在现代Web应用中,文件上传是一个常见的需求,尤其是对于大文件的上传,如视频、音频或大型文档,所以本文就来为大家介绍一下如何使用Spring Boot和MinIO实现文件切片极速上传技术吧
    2023-12-12

最新评论