Java - 集合转换(数组、List、Set、Map相互转换)

本文介绍如何在Java中实现不同数据结构间的转换,包括List、Set、Array和Map之间的相互转换。通过具体示例展示了每种转换的方法,并解释了其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.*;

/**
 * Created by Administrator on 2017/5/19.
 */
public class ConvertorTest {

    /**
     * @param args
     */
    public static void main(String[] args) {

        testList2Array();
        testArray2List();
        testSet2List();
        testList2Set();
        testSet2Array();
        testArray2Set();
        testMap2Set();
        testMap2List();
    }

    /*-------------------------------map/list---------------------------------*/
    private static void testMap2List() {

        Map<String, String> map = new HashMap<String, String>();
        map.put("A", "ABC");
        map.put("K", "KK");
        map.put("L", "LV");

        // 将Map Key 转化为List
        List<String> mapKeyList = new ArrayList<String>(map.keySet());
        System.out.println("mapKeyList:" + mapKeyList);

        // 将Map value 转化为List
        List<String> mapValuesList = new ArrayList<String>(map.values());
        System.out.println("mapValuesList:" + mapValuesList);

    }

    /*----------------------------------map/set------------------------------*/
    private static void testMap2Set() {

        Map<String, String> map = new HashMap<String, String>();
        map.put("A", "ABC");
        map.put("K", "KK");
        map.put("L", "LV");

        // 将Map 的键转化为Set
        Set<String> mapKeySet = map.keySet();
        System.out.println("mapKeySet:" + mapKeySet);

        // 将Map 的值转化为Set
        Set<String> mapValuesSet = new HashSet<String>(map.values());
        System.out.println("mapValuesSet:" + mapValuesSet);
    }

    /*---------------------------array/set-----------------------------*/
    private static void testArray2Set() {

        String[] arr = {"AA", "BB", "DD", "CC", "BB"};

        //数组-->Set
        Set<String> set = new HashSet<String>(Arrays.asList(arr));
        System.out.println(set);
    }

    private static void testSet2Array() {
        Set<String> set = new HashSet<String>();
        set.add("AA");
        set.add("BB");
        set.add("CC");

        String[] arr = new String[set.size()];
        //Set-->数组
        set.toArray(arr);
        System.out.println(Arrays.toString(arr));
    }

    /*----------------------------list/set-----------------------------*/
    private static void testList2Set() {

        List<String> list = new ArrayList<String>();
        list.add("ABC");
        list.add("EFG");
        list.add("LMN");
        list.add("LMN");

        //List-->Set
        Set<String> listSet = new HashSet<String>(list);
        System.out.println(listSet);
    }

    private static void testSet2List() {

        Set<String> set = new HashSet<String>();
        set.add("AA");
        set.add("BB");
        set.add("CC");

        //Set --> List
        List<String> setList = new ArrayList<String>(set);
        System.out.println(setList);
    }

    /*--------------------------------list/array----------------------------*/
    private static void testList2Array() {
        //List-->数组 :list.toArray
        List<String> list = new ArrayList<String>();
        list.add("AA");
        list.add("BB");
        list.add("CC");
        Object[] objects = list.toArray();//返回Object数组
        System.out.println("objects:" + Arrays.toString(objects));

        String[] arr = new String[list.size()];
        list.toArray(arr);//将转化后的数组放入已经创建好的对象中
        System.out.println("strings1:" + Arrays.toString(arr));
    }

    private static void testArray2List() {
        //数组-->List :Arrays.asList
        String[] ss = {"JJ", "KK"};
        List<String> list1 = Arrays.asList(ss);
        List<String> list2 = Arrays.asList("AAA", "BBB");
        System.out.println(list1);
        System.out.println(list2);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值