数组转换为集合:
Arrays是一个工具类 - 专门服务于数组的 - 是一个静态类
toString()其实就是在Arrays中重写了Object中的方法
当数组转化为集合之后还是不能直接添加或者是删除元素,因为数组的特点就是一旦声明不能改变
package Test19_Demo.Demo07;/*
@create 2020--12--09--15:15
*/
import java.util.Arrays;
import java.util.List;
public class ArrayAsListDemo {
public static void main(String[] args) {
//直接将一个数组转化为集合
List<String> newList = Arrays.asList("Jack", "rose", "aobama");
System.out.println(newList);//[Jack, rose, aobama]
newList.add("黄飞鸿");
System.out.println(newList);//java.lang.UnsupportedOperationException
}
}
集合转换为数组:
public
public Object[ ] toArray(); - 集合转化为数组
总结:
- 当数组转换为集合的时候要注意:不能进行添加和删除的操作 - 遵循数组的结构规则
- 当集合转换为数组的时候要注意:数据类型的强制转型或者泛型的使用
数组转为集合 - 理解从小到大
集合转为数组 - 理解从大到小
package Test19_Demo.Demo07;/*
@create 2020--12--09--15:30
*/
import org.omg.PortableInterceptor.INACTIVE;
import java.util.ArrayList;
import java.util.Arrays;
public class ArrayListToArrayDemo {
public static void main(String[] args) {
//声明一个集合
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(11);
list.add(12);
list.add(13);
list.add(14);
list.add(15);
list.add(16);
list.add(17);
list.add(18);
list.add(19);
//调用方法 - 将集合转化为Object类型的数组
Object[] objects = list.toArray();
System.out.println(Arrays.toString(objects));
//向下转型
Integer i = (Integer) objects[0];
System.out.println(i.intValue());
System.out.println("------------------------");
//调用方法,将集合转换为带类型的数组
Integer[] intArr = new Integer[10];
Integer[] returnArr = list.toArray(intArr);
System.out.println(Arrays.toString(intArr));//[1, 11, 12, 13, 14, 15, 16, 17, 18, 19]
System.out.println(Arrays.toString(returnArr));//[1, 11, 12, 13, 14, 15, 16, 17, 18, 19]
//带泛型的 - 当前这个类型就直接是集合中元素的类型,不需要强转
Integer integer = returnArr[3];//下标是3
System.out.println(integer.intValue());//13
}
}