zoukankan      html  css  js  c++  java
  • 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();
        }



    }

     

  • 相关阅读:
    个人号微信机器人开发
    群控系统开发sdk服务端调用方法
    微信个人号scrm客服通信协议定义
    微信crm客服系统使用sdk定制开发(持续更新中!)
    微信客服crm系统接口定义(完善中)
    压测工具-ab
    设计模式之美学习-结构型-享元模式(二十五)
    设计模式之美学习-结构型-组合模式(二十四)
    设计模式之美学习-结构型-门面模式(二十三)
    设计模式之美学习-结构型-适配器模式(二十二)
  • 原文地址:https://www.cnblogs.com/jiangxifanzhouyudu/p/6684179.html
Copyright © 2011-2022 走看看