黑马程序员(三):集合和数组之间的互相转变。

集合和数组之间的互相转变。


<a>:首先集合变数组:
应用的是collection的 <T> t[]toArray(T[] a)方法


演示一下
import java.util.*;
class CollectionToArray
{
public static void main(String[] args)
{
List<String> al=new ArrayList<String>();
al.add("abc1");
al.add("abc2");
al.add("abc3");
al.add("abc4");


String[] arr=al.toArray(new String[0]);
/*collection的 <T> t[]toArray(T[] a)方法。。在调用的时候。
必须在toArray()中指定你要变成哪个类型的数组。首先要创建个数组接受
集合转变成的数组。如果你创建的数组长度[0]小于集合转变后数组的长度
集合会自动再创建个集合size长度的数组。当你传的长度大于集合的size时候,集合转变成数组时候自动补null
*/
System.out.println(Arrays.toString(arr));
//Arrays 功能对各个基本数据类型的集合进行toString 变成字符串进行打印,
}
}
为什么要把集合变成数组呢?主要是为了限定对元素的操作。


<b>.数组变集合:
import java.util.*;
class ArrayDemo
{
public static void main(String[] args)
{
String[] arr={"abc","ffe","eef","jtuu"};
List<String> list=Arrays.asList(arr);
/*应用的是static <T> List<T> asList(T... a)  
方法。。返回的是指定大小的集合
变成集合的思想和方法来操作数组中的元素。因为转变成的集合是被指定大小的。
所以是不能增删的。能用集合的方法查询*/
System.out.println(list.contains("ffe"));
//这就是直接用集合的方法查询某个元素是不是存在方法更加简洁。
//contains get indexOf() subList();都可以应用就是不能增删。
System.out.println(list);


//特别注意的另个事例
int[] nums={1,2,3,4,5,6};
List<int []> li=Arrays.asList(nums);//会将改数组变成集合中的一个元素存在
Integer[] nums1={2,3,4,5,6,};//里面的数字自动装箱变成了对象。
List<Integer> li1=Arrays.asList(nums1);
/*
小结下。当数组中的元素是对象时候。那么变成集合时。数组中的元素
就直接变成集合中的元素。
当数组中的元素都是基本数据类型,那么将该数组作为集合中的元素存在。
*/


}
}
引申一个小知识点。可变参数Arrays 中数组变集合的方法。static <T> List<T> asList(T... a)  
asList(T... a) 这里面传递的是一个可变参数
List<Integer> li1=Arrays.asList(1,2,3,4,5);
传递的是基本数据类型也可以。集合也可以。在这个中。传递的基本类型直接装箱。和<Integer>对应上了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值