一.数组
1.基本使用
创建:
int [] arra1 = new int[]
int [] arr2 =new int{1,2,3,4,5,6}
求长度 :arra1.length 赋值
数组的遍历:for(int i =0 ;i<arra1.length;i++) syso
2.数组元素的添加
int [] arra1 = new int{1,2,3} //添int dst = 6;
int [] newarra1 = new int[arra1.length+1]; //创建一个比原数组长度多1 的数组
for(int i =0 ;i<arra1.length;i++) {
newarra1[i]=arra1[i]; //把原来数组全部复制到新数组
newarra1[arra1.length]=dst;
syso //将值放入到新数组的最后
3.数组元素的删除
int[] arra=new int[] {1,2,3,4,5};
int dst =2;//要删除数组的下表
System.out.println(Arrays.toString(arra)); 思路:创建一个长度小的数组,然后遍历新数组,之后通过判断过滤掉要删除数组的下标。
int [] newarra = new int [arra.length-1];
for(int i = 0;i<newarra.length;i++){
if(i<dst){
newarra[i]=arra[i];
}else {newarra[i]=arra[i+1];}
}
arra=newarra;
4.面向对象的数组
public class shuzu {
private int[] elements;//用于存储数据的数组
//创建数组函数
public shuzu(){
elements=new int[0];
}
//获取数组长度
public int size(){
return elements.length;
}
//向原来的数组加入一个元素
public void add(int element){
int [] arra=new int[elements.length+1];
for(int i =0;i < elements.length;i++){
arra[i]=elements[i]; }
arra[elements.length]=element;
elements=arra;
}
//打印所有元素
public void show(){
System.out.println(Arrays.toString(elements));
}
//删除数组的元素
public void delete(int index){
if (index<0||index>elements.length-1){
throw new RuntimeException("下标越界");
}
int [] newarra = new int [elements.length-1];
for(int i =0;i<newarra.length ;i++){
if (i<index){
newarra[i]=elements[i];
}else{
newarra[i]=elements[i+1];
}
}
elements=newarra;
}
//取出指定数
public int get (int index){
return elements[index];
}
//插入到指定位置
public void insert(int index ,int element){
int[] newarra =new int [elements.length+1];
for(int i =0;i<elements.length;i++){
if(index>i){
newarra[i]=elements[i];
}else{
newarra[i+1]=elements[i];
}
}
newarra[index]=element;
elements=newarra;
}
}