Java基础(2)Java中数组与List的相互转换

Java中的List与数组经常会相互转换,以下提供简单的转换方法:

	private static void arrayAndList(){
		//*********array转list***************
		//创建数组的三种方式
//		String[] familyArray = new String[4];
//		familyArray[0]="oliver";familyArray[1]="olivia";familyArray[2]="yk";familyArray[3]="mm";
		
//		String[] familyArray = new String[]{"oliver","olivia","yk","mm"};
		
		String[] familyArray = {"oliver","olivia","yk","mm"};
		List<String> familyList = Arrays.asList(familyArray);
		for(String str:familyList){
			System.out.println("familyList----"+str);
		}
		
		//*********list转array***************		
		//创建list的最简单方式
		List<String> listFamily = new ArrayList<String>(Arrays.asList("oliver","olivia","yk","mm"));
		String[] arrayFamily = new String[listFamily.size()];
		System.out.println("初始化arrayFamily----"+arrayFamily[0]+arrayFamily[1]+arrayFamily[2]);
		listFamily.toArray(arrayFamily);
		for(String str:arrayFamily){
			System.out.println("arrayFamily----"+str);
		}
		String[] arrayFamily2 = StringUtils.toStringArray(listFamily);
		for(String str:arrayFamily2){
			System.out.println("arrayFamily2----"+str);
		}
	}

上述代码运行后,控制台会打印如下内容:

familyList----oliver
familyList----olivia
familyList----yk
familyList----mm
初始化arrayFamily----nullnullnull
arrayFamily----oliver
arrayFamily----olivia
arrayFamily----yk
arrayFamily----mm
arrayFamily2----oliver
arrayFamily2----olivia
arrayFamily2----yk
arrayFamily2----mm

补充:

数组中的元素可以通过如下方法拼接:

org.apache.commons.lang.StringUtils.join(array,"$$");

Maven引用该包:

        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.5</version>
        </dependency>

补充2:

数组的复制:

	private static void arrayCopy(){
		int[] data = {1,2,3,4,5};
		int[] newData = new int[8];
		System.arraycopy(data, 0, newData, 0, data.length);
		for(int i=0;i<newData.length;i++){
			System.out.println(newData[i]);
		}
	}

System.arraycopy();System.arraycopy(src, srcPos, dest, destPos, length);这个方法可以实现数组的复制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值