在JAVA中如何从数组中删除一个元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JAVA中如何从数组中删除一个元素相关的知识,希望对你有一定的参考价值。
1、打开myeclipse的主页以后,直接根据实际情况新建一个相关文件。
2、下一步,需要按照图示选择对应的代码进行添加。
3、这个时候如果没问题,就通过找到运行按钮来点击。
4、这样一来会得到相应的结果,即可在JAVA中从数组中删除一个元素了。
参考技术A这样:
package com.yiibai;import java.util.ArrayList;public class RemoveArrayElement public static void main(String[] args)
ArrayList objArray = new ArrayList();
objArray.clear();
objArray.add(0, "0th element");
objArray.add(1, "1st element")
objArray.add(2, "2nd element");
System.out.println("Array before removing an element" + objArray);
objArray.remove(1);
objArray.remove("0th element");
System.out.println("Array after removing an element" + objArray);
Java
扩展资料:
注意事项
在Java 语言中,具有两大类数据类型;首先是基础数据类型,另外还有的引用类型。Java 中有一种特殊的数组引用类型,它具有以下特性:
1、java 数组本身来说是一个引用类型,定义以及初始化之后数组的长度不再改变。
2、java 数组不变是说由array variable 所指向的内存中的数组不会发生变化,而该 array variable 可以灵活的指向别的存在于堆内存的其他数组。
由以上特性我们可以推测出想要删除原始数组中的特定元素不能简单的实现,以下方法是当输入的数组元素不重复时删除特定数组的简单实现:
public class ArrUtils
private int[] arr;
public int[] getArr()
return arr;
public void setArr(int[] arrList)
arr = arrList;
public int[] delete(int target)
int[] middleArr = new int[arr.length];
int[] resultArr;
int k = 0,numOfTarget = 0;
for(int ele:arr)
if(ele != target)
middleArr[k] = ele;
k++;
else
numOfTarget++;
if(numOfTarget == 0)
resultArr = new int[ arr.length ];
else
resultArr = new int[arr.length - numOfTarget];
int i = 0;
for(int j = 0;j < middleArr.length;j++)
if(middleArr[j] != 0)
resultArr[i] = middleArr[j];
++i;
return resultArr;
参考技术B
在JAVA中如何从数组中删除一个元素的程序如下:
package org.usc.action;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test
public static void main(String[] args)
String[] str="张三","李四","王五","宋六","赵七","朱八","何九","田十";
List<String> list=Arrays.asList(str);//将数组转换为list集合
if(list.contains("张三"))
//加入集合中包含这个元素
///这个时候我们直接移除会报错,所以我们要转换为Arraylist
//list.remove("张三");
List<String> arrayList=new ArrayList<String>(list);//转换为ArrayLsit调用相关的remove方法
arrayList.remove("张三");
for(String str1:arrayList )
System.out.print(str1+",");
部分解释:
1、remove这些method时出现java.lang.UnsupportedOperationException异常。
2、这是由于Arrays.asList() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList, remove,add等method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。
3、ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(),add()等, 所以throw UnsupportedOperationException。
扩展资料:
因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集。
Java允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。
异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
参考技术C // 写一个泛型方法可以适应大部份类型的需求。// ----------------------------------------------
/**
* @param <T> 数组中的元素类型
* @param arrs 需要删除元素的数组。
* @param index 需要删除的元素的索引(出界时抛异常)。
* @return 指定类型的新数组。
*/
public static <T> T[] removeArrayItem(T[] arrs, int index)
int len = arrs.length;
if(index < 0 || index >= len)
throw new IllegalArgumentException("索引出界");
List<T> list = new LinkedList<T>();
for(int i = 0; i < len; i++)
if(i != index)
list.add(arrs[i]);
// 这里将改变传入的数组参数 arrs 的值
arrs = list.toArray(arrs);
return java.util.Arrays.copeOf(arrs, arrs.length - 1);
本回答被提问者采纳 参考技术D array.remove(array.get(1))这样子删。
把那个元素拿出来。remove掉就行。。也可以用索引
以上是关于在JAVA中如何从数组中删除一个元素的主要内容,如果未能解决你的问题,请参考以下文章