Java 數據結構之數組


public class Arrays {
    //創建一個Integer空數組
    public static Integer[] player=null;
    //添加球員號碼
    private static int size=0;//初始化數組的元素個數
    static StringBuffer sb=new StringBuffer();
    public static void init(int initialCapacity){//初始容量為5的線性列表,用來存儲數據
        if(initialCapacity<0){
            throw new IllegalArgumentException("容量不能為負數!");
        }
        player=new Integer[initialCapacity];
    }
    
    public static void add(Integer playNum){//為數組添加元素
        //數組擴容
        if(size==player.length){
            Integer[] temp=java.util.Arrays.copyOf(player, player.length*2);
            player=temp;
        }
        player[size]=playNum;
        size++;
    }

    private static void  replace(int indexNum,int setNum) {//根據輸入的數據替換成新的數據
        int index=getIndexNum(indexNum);//根據輸入的數據查看索引位置
        if(index>=0){
            player[index]=setNum;
        }
    }
    private static void indexReplace(int index, int newData) {//根據輸入索引位置替換數據
        if(index<0 || index>=size){
            throw new IllegalArgumentException("超出索引位置!");
        }
        player[index]=newData;
    }
    private static int  select(int index) {//根據索引位置查找對應的數據
        if(index<0 || index>=size){
            throw new IllegalArgumentException("超出索引位置!");
        }
        if(index>size-1){
            return -1;
        }
     return player[index];
    }
    private static int getIndexNum(int indexNum) {//根據輸入的數據查看索引位置
        for (int index = 0; index <size; index++) {
            if(player[index].equals(indexNum)){
                return index;
            }
        }
        return -1;
    }
    private static void delete(int index) {//刪除指定索引位置的數據
        if(index<0 || index>=size){
            throw new IllegalArgumentException("超出索引位置!");
        }
        for (int i = index; i < size-1; i++) {
            player[i]=player[i+1];
        }
        size--;
    }
    //打印數組
    public static void print(){
        if(player==null){
            System.out.println("數組為空!");
            return;
        }
        if(size==0){
            System.out.println("[ ]");
            return;
        }
        sb.append("[");
        for (int index = 0; index < size; index++) {
            sb.append(player[index]);
            if(index!=size-1){
                sb.append(",");
            }else{
                sb.append("]");
            }
        }
        System.out.println(sb.toString());
    }
    public static void main(String[] args) {
        init(5);
        add(11);
        add(22);
        add(33);
        add(44);
        add(55);
        add(66);
        print();
//        int data=select(4);
//        System.out.println(data);
//        int num=getIndexNum(33);//查找值為33的索引位置
//        System.out.println(num);
        //indexReplace(2,337);
        //replace(22, 66);
        //delete(3);
        //print();
    }



}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM