怎么在Java中自定义动态数组

  介绍

这期内容当中小编将会给大家带来有关怎么在Java中自定义动态数组,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Java的特点有哪些

Java的特点有哪些   1. java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。   2. java具有简单性,面向对象,分布式、安全性,平台独立与可移植性,动态性等特点。   3.使用Java可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序等。

Java自定义动态数组

1,静态数组向动态数组转变

(1)静态数组,数组空间固定长度

怎么在Java中自定义动态数组

这个数组空间总长为4,如果此时新插入一个数据就会报数组空间不足

(2)静态数组如何转变成动态数组

怎么在Java中自定义动态数组

第一步:创建一个空间数是数据组两倍的newData数组(扩容);

第二步:把数据数组中的元素全部赋值到newData数组;

2,数组扩容程序

//,数组扩容   private  void 调整(int  newCapacity) {   E[],才能newData =, (E []), new 对象(newCapacity);   for 才能;(int 小姐:=,0;,小姐:& lt;,大小;,我+ +),{   ,,,newData[我],=,数据(我);   ,,}   时间=data 才能;newData;   }

数组添加元素:数组空间不够就会扩容(原来空间2倍)

,,//,数组指定位置添加元素   public 才能;void  add (int 指数,E  e), {//,,,,if  (size ==, data.length)//,,,,,,throw  new  IllegalArgumentException (“Add  failed.Array  is 满!”);   ,,,if  (index  & lt;, 0, | |, index 祝辞,大小)   ,,,,,throw  new  IllegalArgumentException (“Add 失败只Require  index 祝辞=,0,以及index  & lt;=, size");   ,,,if  (size ==, data.length)   ,,,,,调整(2,*,data.length);   ,,,for  (int 小姐:=,size 作用;1;,小姐:祝辞=,指数;,我——)   ,,,,,数据(小姐:+,- 1),=,数据(我);   ,,,的数据(指标),=,e;   ,,,大小+ +;   以前,,}

数组删除元素:数组空间空闲太大就会缩容(原来空间的1/2)

//,从数组中删除指数位置的元素,返回删除的元素   public  E 删除(int 指数),{   if 才能;(index  & lt;, 0, | |, index 祝辞=,大小),{   ,,,throw  new  IllegalArgumentException (“Remove  failed.Index  is  illegal");   ,,}   E 才能;ret =,数据(指标);   for 才能;(int 小姐:=,index  +, 1;,小姐:& lt;,大小;,我+ +),{   ,,,数据[小姐,安康;1],=,数据(我);   ,,}   大小——才能;//才能,loitering  objects  !=, memory  leak 手动释放内存空间   数据(大小),才能=,空;   如果才能(size ==, data.length /, 2), {   ,,,调整(时间/data.length  2);   ,,}   return 才能;回收;   }

3,数组整体代码

public  class  Array, {//,才能定义数组变量,data.length表示数组容量产能   private 才能;E[],数据;//,才能定义数组中存放数据大小   private 才能int 规模;//,才能有参构造方法,传入数组的容量能力构造动态数组   public 才能;数组(int 能力),{   ,,,data =, (E []) new 对象(能力);   ,,,size =, 0;   ,,}//,才能无参构造方法,默认初始容量为能力=10   public 才能;数组(),{   ,,,(10);   ,,}//,才能获取数组中元素个数   public 才能;int  getSize (), {   ,,,return 规模;   ,,}//,才能获取数组的容量   public 才能;int  getCapacity (), {   ,,,return  data.length;   ,,}//才能,判断数组是否为空   public 才能;boolean  isEmpty (), {   ,,,return  size ==, 0;   ,,}/*,,//,在数组末尾添加元素   public 才能;void  addLast (E  e), {   ,,,if  (size ==, data.length)   ,,,,,throw  new  IllegalArgumentException (“AddLast  failed.Array  is 满!”);   ,,,的数据(大小),=,e;   ,,,大小+ +;   ,}*///,才能在数组末尾添加元素(复用添加方法)   public 才能;void  addLast (E  e), {   ,,,添加(大小,e);   ,,}//,才能在数组头部添加元素(复用添加方法)   public 才能;void  addFirst (E  e), {   ,,,添加(0,e);   ,,}//,才能数组指定位置添加元素   public 才能;void  add (int 指数,E  e), {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在Java中自定义动态数组