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();
        }



    }

     

  • 相关阅读:
    springmvc视频学习
    两个数组a和b,都已经升序排列. 查找相同的元素?(要求不使用两层for循环)
    https Java SSL Exception protocol_version
    java多线程笔试题:设计4个线程,其中两个线程每次对j增加1,另外2个线程每次对j减少1.写出程序
    java多线程笔试题:子线程循环10次;接着主线程循环20次,接着又子线程循环10次,接着再回到主线程又循环20次,如此循环50次,请写出程序。
    R语言学习笔记
    重建二叉树-牛客网-剑指offer
    字符串替换空格-牛客网-剑指offer
    二维数组中的查找-牛客网-剑指offer
    牛客网-剑指offer-java版本解答目录(经自测)
  • 原文地址:https://www.cnblogs.com/jiangxifanzhouyudu/p/6684179.html
Copyright © 2011-2022 走看看