list、数组、set、map之间的相互转换

本文介绍了在Java编程中如何方便地在list、数组、set和map之间进行转换,包括各种实用的方法和示例。
摘要由CSDN通过智能技术生成

list、数组、set、map之间的相互转换

在日常编程中经常遇到需要转换类型的场景,因此在这里对一部分方法进行了总结。

list --> 数组

	List<String> list = new ArrayList<String>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
	//方式一:
	Object[] array1 = list.toArray();	//返回object类的数组array
	//方式二:
	String[] array2 = new String[list.size()];
	list.toArray(array2);//传入初始化长度的数组,得到string类的数组array
	//方式三:
	String[] array3= list.toArray(new String[0]);//也可以直接传入空数组
	
	System.out.println(Arrays.toString(array1)); //[aa, bb, cc]
	System.out.println(Arrays.toString(array2)); //[aa, bb, cc]
	System.out.println(Arrays.toString(array3)); //[aa, bb, cc]

数组–>list

    String[] array = {"aa","bb", "cc"};
    //方式一:
    List<String> list1 = Arrays.asList(array);
    //方式二:
    List<String> list2 = Arrays.asList("aa","bb", "cc");
    //方式三:
    ArrayList<String> list3 = new ArrayList<>(Arrays.asList(array)) ;
    //方式四:
    ArrayList<String> list4 = new ArrayList<>(array.length);
    Collections.addAll(list4, array);
    
    System.out.println(list1);	//[aa, bb, cc]
    System.out.println(list2);	//[aa, bb, cc]
    System.out.println(list3);	//[aa, bb, cc]
    System.out.println(list4);	//[aa, bb, cc]

set --> list

    HashSet<String> set = new HashSet<>();
    set.add("aa");
    set.add("bb");
    set.add("cc");
    List<String> list5 = new ArrayList<>(set);
    System.out.println(list5);  //[aa, bb, cc]

list --> set

    List<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    Set<String> set = new HashSet<>(list);
    System.out.println(set); //[aa, bb, cc]

数组 --> set

    String[] array = {"aa","bb", "cc"};
    //方式一:
    Set<String> set1 = new HashSet<>(Arrays.asList(array));
    //方式二:
    Set<String> set2=new HashSet<>();
    Collections.addAll(set2,array);
    
    System.out.println(set1); //[aa, bb, cc]
    System.out.println(set2); //[aa, bb, cc]

set --> 数组

    Set<String> set = new HashSet<String>();
    set.add("aa");
    set.add("bb");
    set.add("cc");
    //方式一:
    Object[] array1 = set.toArray();
    //方式二:
    String[] array2= new String[set.size()];
    set.toArray(array2);
    //方式三:
    String[] array3= set.toArray(new String[0]);//也可以直接传入空数组
    
    System.out.println(Arrays.toString(array1)); //[aa, bb, cc]
    System.out.println(Arrays.toString(array2)); //[aa, bb, cc]
    System.out.println(Arrays.toString(array3)); //[aa, bb, cc]

map --> set/list

    Map<String, String> map = new HashMap<String, String>();
    map.put("key1", "value1");
    map.put("key2", "value2");
    // 将键转化为Set
    Set<String> mapKeySet = map.keySet();
    System.out.println(mapKeySet);	//[key1, key2]
    // 将值转化为Set
    Set<String> mapValuesSet = new HashSet<>(map.values());
    System.out.println(mapValuesSet); //[value2, value1]
    // 将值转化为List
    List<String> mapValuesList = new ArrayList<>(map.values());
    System.out.println(mapValuesList); //[value1, value2]

这里只总结了一些简单方便的转换方法,还有一些如stream的方式没有列举。欢迎大家补充。

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值