JAVA自定义容器—自动扩容—查找—删除 代码实现

Posted logoman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA自定义容器—自动扩容—查找—删除 代码实现相关的知识,希望对你有一定的参考价值。

 1 package cn.itsource._05IntArry;
 2 
 3 import java.util.Arrays;
 4 
 5 public class IntArry //容器类
 6     Object[] date;//定义Object的数组
 7     int size;//size表示存值的个数
 8     int capacity;//容器的大小
 9     IntArry()//无参构造方法 默认这个容器大小16
10         this(16);
11     
12     
13     IntArry(int capacity)
14         this.capacity=capacity;
15         date = new Object[capacity];
16     
17     
18     public void add(Object obj)//obj表示存入的一个元素
19         if(size>date.length)//判断是否能够放入元素 如果不能 就要扩容
20             Object[] newArry = new Object[size+20];//扩容
21             System.arraycopy(date, 0, newArry, 0, size);//将原数组的数据复制到新数组去
22             date=newArry;//将新数组给date
23         
24         date[size]=obj;//容量够的时候就放到数组
25         size++;//记录放入数组的个数    
26     
27     
28     public String toString()//覆写方法 返回字符串类型的数据
29         Object[] newArry = new Object[size];
30         System.arraycopy(date, 0, newArry, 0, size);
31         return Arrays.toString(newArry);    
32      
33     
34     //获取指定索引处元素
35     public Object getElementByIndex(int index)//date属于Object类型
36         indexOut(index);
37         return date[index];
38     
39     
40     //判断是否超出索引
41     public void indexOut(int index)
42         if(index<0||index>=date.length)
43             throw new ArrayIndexOutOfBoundsException("索引范围为0~"+size+"请重新输入");
44         
45     
46     
47     //查找指定元素第一次出现的索引
48     public int firstElementIndex(Object obj)
49         for(int i =0;i<size;i++)
50             if(date[i].equals(obj))//判断两个元素是否相等
51                 return i;
52                     
53         return -1;
54     
55     
56     //删除指定索引处元素
57     public void delIndexElement(int index)
58         indexOut(index);
59         System.arraycopy(date, index +1, date, index, size-index -1);
60         size--;
61     
62     
63     //删除指定的第一个元素
64     public void delFirstElementIndex(Object obj)
65         int firstElementIndex=firstElementIndex(obj);
66         delIndexElement(firstElementIndex);    
67     
68 

 

以上是关于JAVA自定义容器—自动扩容—查找—删除 代码实现的主要内容,如果未能解决你的问题,请参考以下文章

WKWebview:从菜单中删除复制、查找、共享按钮并显示自定义

k8s的组件

k8s的组件

saltstack实现自动化扩容

C++ 21 set容器

通过 Java 中的按钮刷新自定义容器