Java_数组定义及常用方法(二)
alArray(){
String intArrayToString = Arrays.toString(intArray);
System.out.println(intArrayToString); //result: [1, 2, 3, 4, 5]
}
/**
* 将数组转化成List集合
* 注意:不能直接将int[]转化为集合、因为asList()方法的参数必须是对象。应该先把int[]转化为Integer[]。
* 对于其他primitive类型的数组也是如此,必须先转换成相应的wrapper类型数组。
*/
public static void convetArrayToList(){
Integer[] integerArray = new Integer[intArray.length];
for (int i = 0; i < integerArray.length; i++) {
integerArray[i] = intArray[i];
}
ArrayList
integerList1 = new ArrayList
(Arrays.asList(integerArray)); /* * 不能写成下面: * ArrayList
integerList2 = (ArrayList
)Arrays.asList(integerArray); * 返回的是List
、强转可以通过编译、但是不能正常使用。 */ for(int i : integerList1){ System.out.print(i); } //result: 12345 System.out.println(); } /** * 将List集合转换成数组 */ public static void convetListToArray(){ ArrayList
strList = new ArrayList
(Arrays.asList(strArray)); String[] strArrayFromList = new String[strList.size()]; strList.toArray(strArrayFromList); System.out.println(Arrays.toString(strArrayFromList)); //result: [a, b, c, d, e] /* * 注意:不能写成这样:String[] strArrayFromList = (String[])strList.toArray(strArrayFromList);会抛出ClassCastException。 * List.toArray()与List.toArray(T[] t)的区别在于: * List.toArray()返回的是一个Object[]、不能强转成String[]、强转的话可以通过编译、但是不能进行String[]的操作 * 而List.toArray(T[] t)会将list的值转换成T类型的数组。 */ } /** * 将数组转换成Set集合 */ public static void convertArrayToSet(){ Set
set = new HashSet
(Arrays.asList(strArray)); //Set具有无序性、所以输出结构不一定是原来数组元素存放顺序 System.out.println(set); //result: [d, e, b, c, a] } /** * 判断某个数组中是否包含一个元素、思路:将数组转换成list使用list的contains方法 */ public static void isContainObject(){ ArrayList
strList = new ArrayList
(Arrays.asList(strArray)); System.out.println(strList.contains("a")); //result: true //另一种实现 Arrays.sort(strArray); if(Arrays.binarySearch(strArray, "c") >= 0){ System.out.println(true); }else{ System.out.println(false); } } /** * 将两个相同类型的数组连接起来 */ public static void connTwoSameArray(){ int[] intArray2 = new int[]{6, 7, 8, 9, 10}; } /** * 将数组中数据排序 */ public static void sortArray(){ String[] str = {"c", "a" ,"d" ,"z" }; Arrays.sort(str); System.out.println(Arrays.toString(str)); //反序、 Arrays.sort(str, Collections.reverseOrder()); System.out.println(Arrays.toString(str)); } public static void main(String[] args) { /*printOriginalArray(); convetArrayToList(); convetListToArray(); isContainObject(); convertArrayToSet(); sortArray();*/ testFillArray(); } }