/*
Arrays是数组工具类。可以很方便的操作数组。
其中一个比较重要的方法就是asList方法。
把数组变成List集合有什么好处呢:
可以使用集合的思想和方法来操作数组中的元素。
注意:将数组变成list集合,
不可以使用集合的增删方法。因为数组的长度是固定的。如果增删,则会发生UnsupportedOperationException异常。
可以使用contains(),get(),indexOf(),subList()方法。
注意:如果数组中的元素都是对象(比如:字符串),那么变成集合时,数组中的元素就直接转成集合中的元素。
如果数组中的元素都是基本数据类型,那么会将整个数组作为集合中的元素存在。
*/
import java.util.*;
class ArraysDemo
{
public static void main(String[] args)
{
String[] arr={"akj","dosfkpo","ivujo","dfjosij","iewou"};
List<String> list=Arrays.asList(arr);
sop(list.contains("ivujo"));
sop(list);
int[] nums={1,2,7,3,4,5};
sop(Arrays.toString(nums));
List<int[]> numslist=Arrays.asList(nums);
sop(numslist);
Integer[] in={2,3,1,4,5,7};
List<Integer> inlist=Arrays.asList(in);
sop(inlist);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
/*
集合变数组。
Collections接口中的toArray方法。
*/
import java.util.*;
class CollectionToArray
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList<String>();
al.add("abc1");
al.add("abc2");
al.add("abc3");
String[] arr=al.toArray(new String[al.size()]);
/*
1,指定类型的数组到底要定义多长呢?
当指定类型的数组长度小于集合的size,那么该方法内部会创建一个新的数组,长度为集合的size.
当指定类型的数组长度大于集合的size,那么该方法就不会创建数组了,而是使用传递进来的数组。
所以指定一个刚刚好的数组最优。
2,为什么要将集合变数组?
为了限定对集合的操作。不需要进行增删了。
*/
sop(Arrays.toString(arr));
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}