Java入门之数据结构(数组)
2019-04-25 18:16
134 查看
package cn.itsource_06IntArrayMethod;
import java.util.Arrays;
/*自定义容器增删改查数组实现
**/
public class IntArray {
Object [] data; int size; public IntArray(){ this(5); } public IntArray(int length){ data = new Object[length]; } void add(Object i){ if(size>=data.length){ Object[] newarr = new Object[size+10]; System.arraycopy(data, 0, newarr, 0, size); data = newarr; } data[size] = i; size++; } int size(){ return size; } @Override public String toString() { Object[] newarr = new Object[size]; System.arraycopy(data, 0, newarr, 0, size); return Arrays.toString(newarr); } //索引越界抛出异常 public Object getElementByTndex(int index){ if(index<0||index>=size){ throw new ArrayIndexOutOfBoundsException("索引越界,应该在:0~"+(size-1)); } return data[index]; } public int getIndexByElement(Object obj){ for(int i = 0;i < size; i++){ if(obj.equals(data[i])){ return i; } } return -1; } /*1.删除指定索引处的元素 * */ public void delElementByIndex(int index){ if(index<0||index>=size) throw new ArrayIndexOutOfBoundsException("索引越界,应该在:0~"+(size-1)); System.arraycopy(data, index+1, data, index, size-index-1); size--; } /* 2.删除指定的第一个元素 * 1.根据元素查找索引 * 2.根据索引删除元素 * */ public void delFirstElement(Object obj){ int index = getIndexByElement(obj); delElementByIndex(index); }
}
package cn.itsource_06IntArrayMethod;
public class test {
public static void main(String[] args) { IntArray ia = new IntArray(10); ia.add(20); ia.add("你好"); ia.add(30); ia.add(30); ia.add(30); ia.add(10); ia.add(30); ia.add(30); ia.add(30); int size = ia.size(); System.out.println(ia); System.out.println(size); Object elementByTndex = ia.getElementByTndex(1); System.out.println(elementByTndex); int intdexByElement = ia.getIndexByElement(10); System.out.println(intdexByElement); ia.delElementByIndex(1); System.out.println(ia.size()); System.out.println(ia); ia.delFirstElement(30); System.out.println(ia.size()); System.out.println(ia); }
}
相关文章推荐
- 数据结构之数组和字符串的反转java实现
- 数据结构(java语言描述)串与数组——文件加解密
- Java之数据结构基础、线性表、栈和队列、数组和字符串,树—学习笔记
- java 数组与链表的嵌套使用(数组链表--数据结构)
- 必看:Java的入门知识以及变量、数据类型和选择结构,进来看一下不对你打我~!
- Java数据结构与算法之数组排序——奇偶排序
- 【数据结构与算法】数组应用3:稀疏矩阵压缩(Java实现)
- JAVA数据结构与算法-第二章-数组
- 数据结构之数组的增删改查-java实现
- 数据结构(java)_数组顺序查找
- 【数据结构与算法】数组应用4:多项式计算Java版
- 【数据结构与算法】数组应用2:矩阵转置(Java实现)
- 数据结构----数组(java实现代码)
- 【数据结构与算法】数组应用1:矩阵乘法(Java实现)
- Java之美[从菜鸟到高手演变]之数据结构基础、线性表、栈和队列、数组和字符串
- Java之美[从菜鸟到高手演变]之数据结构基础、线性表、栈和队列、数组和字符串
- Java之数据结构基础、线性表、栈和队列、数组和字符串,树—学习笔记
- JAVA基础学习(三)---程序结构与控制、函数与数组入门
- JAVA基础3-程序结构与控制、函数与数组入门
- 数据结构(java语言描述)串与数组——稀疏矩阵的三元组表存储