1. 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++;
        }
  2.  
  3.     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();
        }
  4.  
  5. }

Java 数据结构之数组的更多相关文章

  1. JAVA数据结构--Array数组实现

    所谓数组,是有序的元素序列. [1]  若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数字编 ...

  2. JAVA数据结构之数组

    接下来的几篇博文会在最近仔细研读数据结构与算法的书籍后会摘录一些要点和总结一些自己的心得体会,帮助大家更深入地理解java中的数据结构和一些基本的算法,同时巩固自己数据结构和算法这些最基础的计算机知识 ...

  3. Java数据结构和算法(二)——数组

    上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻祖——数组,可以说数组几乎能表示一切的数据结构,在每一门编程语言中,数组都是重要 ...

  4. Java数据结构和算法 - 数组

    Q: 数组的创建? A: Java中有两种数据类型,基本类型和对象类型,在许多编程语言中(甚至面向对象语言C++),数组也是基本类型.但在Java中把数组当做对象来看.因此在创建数组时,必须使用new ...

  5. Java数据结构和算法(二):数组

    上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻祖——数组,可以说数组几乎能表示一切的数据结构,在每一门编程语言中,数组都是重要 ...

  6. 【学习总结】java数据结构和算法-第三章-稀疏数组和队列

    相关链接 [学习总结]尚硅谷2019java数据结构和算法 github:javaDSA 目录 稀疏数组 队列 稀疏数组 稀疏数组介绍 图示 应用实例 代码实现 SparseArray.java:与二 ...

  7. 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解

    数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...

  8. Java数据结构和算法之数组与简单排序

    一.数组于简单排序 数组 数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信 ...

  9. Java数据结构之队列的实现以及队列的应用之----简单生产者消费者应用

    Java数据结构之---Queue队列 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在 ...

随机推荐

  1. (转)App工程结构搭建:几种常见Android代码架构分析

    关于Android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐的代码,优美的分层总是一种舒服的享受的. 从艺术的角度看,其实我们是在追求一种美. 本文先分析几个当 ...

  2. Ajax异步调用http接口后刷新页面

    使用Ajax的目的就是提高页面响应速度,无需同步调用,无需整个页面刷新.这里直接在html中使用js来实现: 先获取XMLHttpRequest对象 var xmlHttp; //创建一个xmlHtt ...

  3. python一个简单的web服务器和客户端

    服务器:      当客户联系时创建一个连接套接字      从这个连接接收HTTP请求(*)      解释该请求所请求的特定文件      从服务器的文件系统获取该文件      并发送文件内容 ...

  4. DM8127 更改调试串口为UART2

    1.uboot修改 1)修改宏定义 /*include/config/ti8148_evm.h*/ #define CONFIG_SYS_NS16550_COM2 0x48024000 #define ...

  5. Scanner 的练习 。。。。依然不懂用法。。。苦恼

    package com.b; import java.util.Random; import java.util.Scanner; public class Core { public static ...

  6. java中利用if_else if循环求税率

    总结:循环对我来说重点是在哪里结束的,还有数据类型 package com.badu; import java.util.Scanner; //.输入一个正整数repeat (0<repeat& ...

  7. 乘积最大(线性dp)

    乘积最大 时间限制: 1 Sec  内存限制: 128 MB提交: 4  解决: 4[提交][状态][讨论版][命题人:quanxing] 题目描述 今年是国际数学联盟确定的“2000——世界数学年” ...

  8. SQL语句替换字段内容例子

    SELECT REPLACE(SysFuncID,'7201','7204') ,           CASE           WHEN Flag=1 THEN REPLACE(funcname ...

  9. highcharts钻取例子

    <!doctype html> <html lang="en"> <head> <script type="text/javas ...

  10. saltstack系列(四)——zmq Paraller Pipeline模式

    push/pull模式 push/pull模式,这是一个什么模式呢?战争时期,食物紧缺,实行配给制,大家都排好队,有人专门发放食物,前一个人领取了食物,后一个人跟上继续领取食物,这个push端就是发放 ...