Arrayのツールクラスを書いて、toString、Max、Min、Average、Merg、isExist、equals、findなどの操作を含みます

3852 ワード

package util; 

import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.List; 

/** 
* @author daniel 
*  Array util 
*/ 
public class ArrayUtil { 
/** 
    * ToString 
    * @param array 
    * @return 
    */ 
public static String getToString(Object[]    array){ 
    StringBuffer sb=new StringBuffer("{"); 
     
    for(int i=0;i<array.length;i++){ 
     sb.append(array[i].toString()); 
     if(i!=array.length-1){ 
        sb.append(","); 
     } 
    } 
    sb.append("}"); 
    return sb.toString(); 
} 
    
/** 
    * Get the max item's key 
    * @param array 
    * @return 
    */ 
public static int maxKey(int[] array){ 
    int maxId=-1; 
    for (int i = 0; i < array.length; i++) { 
     if (maxId==-1 || array[i]>array[maxId]) { 
        maxId=i; 
      } 
  }     
         return maxId; 
} 
    
/** 
    * Get the min item's key 
    * @param array 
    * @return 
    */ 
public static int minKey(int[] array){ 
    int minId=-1; 
    for (int i = 0; i < array.length; i++) { 
     if (minId==-1 || array[i]<array[minId]) { 
        minId=i; 
      } 
  }     
         return minId; 
} 
    
/** 
    * Get the average of the int array 
    * @param array 
    * @return 
    */ 
public static int average(int[] array){ 
    int sum=0; 
    if (array.length==0) { 
    throw new IllegalArgumentException("Array length is zero!"); 
  } 
    for (int i = 0; i < array.length; i++) { 
    sum+=array[i]; 
  } 
    return sum/array.length; 
} 
    
/** 
    * merg two array to one 
    * @param one 
    * @param other 
    * @return 
    */ 
public static Object[] merg(Object[] one,Object[] other){ 
    Object[][] tmp=new Object[][]{one,other}; 
    Object[] result=null; 
    List res=null; 
     
    int size = 0; 
    for (int i = 0; i < tmp.length; i++) { 
    size+=tmp[i].length; 
  } 
    res=new ArrayList(size); 
    for (int i = 0; i < tmp.length; i++) { 
    for (int j = 0; j < tmp[i].length; j++) { 
      res.add(tmp[i][j]); 
    } 
  } 
    return res.toArray(); 
} 
    
/** 
    * Check value exists 
    * @param array 
    * @param item 
    * @return    
    */ 
public static boolean exists (Object[] array, Object item) { 
         if (item==null) { 
    return false; 
  } 
         List list=Arrays.asList(array);            
         return list.contains(item); 
} 
    
/** 
    * Test 
    * @param args 
    */ 
public static void main(String[] args) { 
    Object[] obj=new Object[]{0,1,"zhou",2,3,4,5,6,"daniel"}; 
    //toString    
    System.out.println(getToString(obj)); 
    //get max 
    int[] values=new int[]{0,1,2,3,4,5,6,8,33,2}; 
    System.out.println(values[maxKey(values)]); 
    //get min 
    System.out.println(values[minKey(values)]); 
    //get average 
    System.out.println(average(values)); 
    //merg two array to one 
    Object[] object=new Object[]{203,15,26,"jack"}; 
    Object[] all= merg(obj,object); 
    System.out.println(getToString(all)); 
    //check value exist in array 
    System.out.println(exists(obj,"daniel"));     
}    
}