博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象数组操作
阅读量:6915 次
发布时间:2019-06-27

本文共 3479 字,大约阅读时间需要 11 分钟。

封装面向对象数组,并且支持有序和无序,查询元素分为顺序查找和二分法。

1 /**   2  * @ClassName: MyArray   3  * @Description: 封装自己数组  4  * @author dongye   5  * @date 2016年3月1日 上午9:28:40   6  *    7  */  8 public class MyArray {  9     private long[] arr; 10     //有效长度 11     private int elements; 12      13     public MyArray(){ 14         arr=new long[50]; 15     } 16      17     public MyArray(int maxsize){ 18         arr=new long[maxsize]; 19     } 20       21     /**  22      * @Description:无序插入 23      * @return void    返回类型  24      * @author dongye   25      * @date 2016年3月1日 上午9:31:01  26      */ 27     public void insert(long value) { 28         arr[elements]=value; 29         elements++; 30     } 31      32     /** 33      *  34     * @Title: insertOrder  35     * @Description: 有序插入 36     * @return void    返回类型  37     * @author dongye   38     * @date 2016年3月1日 上午10:10:52  39     * @throws 40      */ 41     public void insertOrder(long value) { 42         int i; 43         for (i = 0; i < elements; i++) { 44             if(arr[i]>value){ 45                 break; 46             } 47         } 48         for(int j=elements;j>i;j--){ 49             arr[j]=arr[j-1]; 50         } 51         arr[i]=value; 52         elements++; 53     } 54      55      56      57      58     /** 59      *  60     * @Title: display  61     * @Description: 显示元素 62     * @author dongye   63     * @date 2016年3月1日 上午9:32:25  64      */ 65     public void display(){ 66         System.out.print("["); 67         for (int i = 0; i 
pow){103 return -1;104 }else{105 if(value>arr[middle]){106 low=middle+1;107 }else{108 pow=middle-1;109 }110 }111 }112 }113 114 /**115 * 116 * @Description: 根据索引查找元素117 * @return long 返回类型 118 * @author dongye 119 * @date 2016年3月1日 上午9:40:59 120 */121 public long get(int index){122 if(index>=elements||index<=0){123 throw new ArrayIndexOutOfBoundsException();124 }else{125 return arr[index];126 }127 }128 129 /** 130 * @Title: delete 131 * @Description: 删除数据132 * @return void 返回类型 133 * @author dongye 134 * @date 2016年3月1日 上午9:41:57 135 * @throws 136 */137 public void delete(int index) {138 if(index>=elements||index<=0){139 throw new ArrayIndexOutOfBoundsException();140 }else{141 for (int i = index; i < elements; i++) {142 arr[index]=arr[index+1];143 elements--;144 }145 }146 }147 148 /**149 * 150 * @Title: change 151 * @Description: 更新数据 152 * @return void 返回类型 153 * @author dongye 154 * @date 2016年3月1日 上午9:45:27 155 * @throws156 */157 public void change(int index,int newValue){158 if(index>=elements||index<=0){159 throw new ArrayIndexOutOfBoundsException();160 }else{161 arr[index]=newValue;162 }163 }164 165 166 }

 

转载于:https://www.cnblogs.com/snow1314/p/5233892.html

你可能感兴趣的文章
《基于ArcGIS的Python编程秘笈(第2版)》——2.10 更新图层的符号系统
查看>>
SAP的ABAP屏幕程序如何使用Table Control进行数据交互
查看>>
Visual Studio 将集成 Cordova 支持跨平台开发
查看>>
这些方法助你优化 Android 启动速度
查看>>
《简明电路分析》——2.4节单口网络
查看>>
《动手玩转Arduino》——10.4 作品36:做一个三区域触摸开关
查看>>
《位置大数据隐私管理》—— 导读
查看>>
如何在 Ubuntu 以及 Debian 中安装 DHCP 服务器
查看>>
《图数据库》——2.1 关系型数据库缺少联系
查看>>
16万Facebook数据告诉你,单身狗更爱养猫
查看>>
《JUnit实战(第2版)》—— 1.6 使用JUnit测试
查看>>
C++程序设计:原理与实践(进阶篇)17.6 Shape
查看>>
《JavaScript设计模式》——1.3 用对象收编变量
查看>>
《HTML5+CSS3网页设计入门必读》——1.6 再次联手
查看>>
永远不要在Linux执行的10个最危险的命令
查看>>
Discretized Streams, 离散化的流数据处理
查看>>
《嵌入式Linux基础教程(第2版)》——1.2 嵌入式Linux现状
查看>>
科普丨【计算机视觉】OpenCV中直方图处理函数简述
查看>>
《量化金融R语言初级教程》一2.3 使用真实数据
查看>>
《C++编程惯用法——高级程序员常用方法和技巧》——1.4 使用CRC卡片来辅助设计...
查看>>