-------------
Arrays介绍:
Arrays用于操作数组的工具类,里面都是静态方法。
Arrays中方法介绍示例:
import java.util.*;
class ArraysDemo
{
public static void main(String[] args)
{
int[] arr = {2,4,5};
//将数组转成字符串输出
System.out.println(Arrays.toString(arr));
String[] arr = {"abc","cc","kkkk"};
注意:将数组变成集合,不可以使用集合的增删方法。
因为数组的长度是固定。
List<String> list = Arrays.asList(arr);//将数组转成集合
sop("contains:"+list.contains("cc"));//可以
//list.add("qq");//不可以,出现异常
int[] nums1 = {2,4,5};
Integer[] nums2 = {2,4,5};
List li = Arrays.asList(nums1);
sop(li);//打印结果nums1的地址
List li = Arrays.asList(nums2);
sop(li);//打印结果是:[2,4,5]正常
}
public static boolean myContains(String[] arr,String key)
{
for(int x=0;x<arr.length; x++)
{
if(arr[x].equals(key))
return true;
}
return false;
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
重点总结:
-
如果数组中的元素都是对象。那么变成集合时,数组中的元素就直接转成集合中的元素。 -
如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在。 -
把数组变成list集合的好处是可以使用集合的思想和方法来操作数组中的元素。 -
将数组变成集合,不可以使用集合的增删方法。因为数组的长度是固定。
将集合变数组操作:
代码示例:
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");
//利用toArray方法将集合变成数组
String[] arr = al.toArray(new String[al.size()]);
System.out.println(Arrays.toString(arr));
}
}
重点总结:
1,当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组。长度为集合的size。当指定类型的数组长度大于了集合的size,就不会新创建了数组。而是使用传递进来的数组。所以创建一个刚刚好的数组最优。
2,为什么要将集合变数组:
为了限定对元素的操作。不需要进行增删了。