包含:
查找数组中是否有元素e
思路:
①遍历数组中的元素
②逐一判断是否有元素=e,若找到返回true
③遍历结束还没找到,返回false
//查找数组中是否有元素e
public boolean contains(int e){
for (int i = 0; i < size; i++) {
if (data[i] == e){
return true;
}
}
return false;
}
搜索:
查找数组中元素e所在的索引,如果不存在元素e,则返回-1
思路:
①遍历数组中的元素
②逐一判断是否有元素=e,若找到返回该元素的索引i
③遍历结束还没找到,返回-1
//查找数组中元素e所在的索引,如果不存在元素e,则返回-1
public int find(int e){
for (int i = 0; i < size; i++) {
if (data[i] == e){
return i;
}
}
return -1;
}
删除:
从数组中删除指定位置的元素
思路:
①判断传入的index是否合法 >0 <=size
②将index位置后的元素依次向前移动
③size–
//从数组中删除index位置的元素,返回删除的元素
public int remove(int index){
if (index<0|| index>=size){
throw new IllegalArgumentException("Get failed.Index is illega");
}
int ret = data[index];
for (int i = index; i < size; i++) {
data[i] = data[i+1];
}
size--;
return ret;
}
//从数组中删除第一个元素,返回删除的元素
public int removeFirst(){
return remove(0);
}
//从数组中删除最后一个元素,返回删除的元素
public int removeLast(){
return remove(size-1);
}
从数组中删除元素e
//从数组中删除元素e
public void removeElement(int e){
int index = find(e);
if (index != -1){
remove(index);
}
}