/*
* 數組對象中的常用方法
*1.? String static toString(type[] a): 將書中的元素拼接成一個字符串
*
*2. type static valueOf(type[] a, int length); 將數據按照傳入的長度拷貝到一個新的數組中
*
*3. type static copyOfRange(type[] a, int start, int end); 將源數組按照傳入的開始位置和結束位置拷貝到一個新的數組中;
*
*4. static void sort(type[] a); 將源數組按照優化的快速排序法進行排序
*
*5. static int binarySearch(type[] a, type v); 在整個數組中按照二分查找法查找數據,查找成功返回下標,否則返回-1;
*s
*6. static int binarySearch(type[] a, int start, int end, type v); 在整個數組中按照二分查找法從傳入的開始位置和結束位置查找數據,查找成功返回下標,否則返回-1;
*
*7. static void fill(type[] a, type v); 將數組中的所有元素值都設置為v;
*
*8. static boolean equals(type[] a, type[] b,); 如果兩個數組的長度和每個元素值都相等,那么返回true,否則返回false
*
*9. String static deepToString(type[] a); 將二維數組拼接為字符串形式
*/
package com.michael.lin;
import java.util.Arrays;
public class Demo07 {
public static void main(String[] args){
//1。toString()方法
String[] arr1 = {"Hello", "world", "I'm", "Michael"};
System.out.println(Arrays.toString(arr1));
//2.從下標為0的元素開始拷貝指定長度的數組
System.out.println(Arrays.toString(Arrays.copyOf(arr1, 2)));
//3.從傳入的開始位置和結束位置拷貝新的餓數組
System.out.println(Arrays.toString(Arrays.copyOfRange(arr1, 1, 2)));
//4.數組排序
int[] arr2 = {10,3,21,45,99,4};
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
//5.二分查找滴定的元素
System.out.println(Arrays.binarySearch(arr2, 10));
System.out.println(Arrays.binarySearch(arr2, 1012));
//6.從指定開始位置和結束位置開始查找數組中的元素
System.out.println(Arrays.binarySearch(arr2, 2, arr2.length, 5));
System.out.println(Arrays.binarySearch(arr2, 2, arr2.length, 10));
//7.fill將數組中的所有元素都設置為一樣的值
Arrays.fill(arr2, 1000);
for(int ele : arr2)
System.out.println(ele);
//8.比較兩個數組是否相等
int[] arr3 = Arrays.copyOf(arr2, arr2.length);
if(Arrays.equals(arr2, arr3)){
System.out.println("Equls!");
}else{
System.out.println("not equals!");
}
//9. 打印二維字符串
int[][] arr4 = {
{1,3,3,3},
{2,3,4,10},
{10,3,4,5}
};
System.out.println(Arrays.deepToString(arr4));
}
}