1.Arrays類:
在Collection接口中有一個方法叫toArray把集合轉換爲Object數組.把集合轉換爲數組: Object[] arr = 集合對象.toArray();
數組也可以轉換爲集合(List集合):
public static <T> List<T> asList(T... a) 等價於public static <T> List<T> asList(T[] a).
import java.util.Arrays;
import java.util.List;
public class SetDemo8 {
public static void main(String[] args) {
List<String> list = Arrays.asList("a","b","c");
System.out.println(list);//[a, b, c]
List<Integer> list2 = Arrays.asList(1,2,3,4);//自動裝箱
System.out.println(list2);//[1, 2, 3, 4]
int[] arr ={1,2,3,4};
List<int[]> list3 = Arrays.asList(arr);//直接把數組當做對象
System.out.println(list3);//[[I@3a5476a7]
}
}
通過Arrays.asList方法得到的List對象的長度是固定的,不能增,也不能減.
import java.util.Arrays;
import java.util.List;
public class SetDemo8 {
public static void main(String[] args) {
List<String> list = Arrays.asList("a","b","c");
System.out.println(list);//[a, b, c]
//list.remove(0);//報錯 java.lang.UnsupportedOperationException
//list.add("d");//報錯 java.lang.UnsupportedOperationException
}
}
爲什麼: asList方法返回的ArrayList對象,不是java.util.ArrayList而是Arrays類中的內部類對象.看源碼,可以得知返回的ArrayList對象是Arrays類中的內部類對象.
2.其他方法
int binarySearch(type[] arr,type key) 使用二分法查找數組裏某元素並返回其索引,若找不到返回負數.
void sort(type[] arr) 使用調優後的快速法對指定數組排序。
String toString(type[] arr) 返回指定數組內容的字符串表示形式。
public static type[] copyOf(type[] original, int newLength)
複製指定的數組,截取或用 0 填充(如有必要),以使副本具有指定的長度
class ArraysDemo
{
public static void main(String[] args)
{
int[] arr = {1,5,6,89,54,3,456,3234};
//數組打印
System.out.println(java.util.Arrays.toString(arr));
//數組排序
java.util.Arrays.sort(arr);
//排序後打印
System.out.println(java.util.Arrays.toString(arr));
//二分法查找指定元素在數組中的索引(注意:該數組必須是有序的)
int index=java.util.Arrays.binarySearch(arr,456);
System.out.println(index);
//數組的複製
int[] arr2 = java.util.Arrays.copyOf(arr,4);
//複製後打印該新的數組
System.out.println(java.util.Arrays.toString(arr2));
}
}
.