java中删除 数组中的指定元素要如何来实现呢,如果各位对于这个算法不是很清楚可以和小编一起来看一篇关于java中删除 数组中的指定元素的例子。

java的api中,并没有提供删除数组中元素的方法。虽然数组是一个对象,不过并没有提供add()、remove()或查找元素的方法。这就是为什么类似ArrayList和HashSet受欢迎的原因。
不过,我们要感谢Apache Commons Utils,我们可以使用这个库的ArrayUtils类来轻易的删除数组中的元素。不过有一点需要注意,数组是在大小是固定的,这意味这我们删除元素后,并不会减少数组的大小。
所以,我们只能创建一个新的数组,然后使用System.arrayCopy()方法将剩下的元素拷贝到新的数组中。对于对象数组,我们还可以将数组转化为List,然后使用List提供的方法来删除对象,然后再将List转换为数组。
为了避免麻烦,我们使用第二种方法:
我们使用Apache commons库中的ArrayUtils类根据索引来删除我们指定的元素。
Apache commons lang3下载地址:
http://commons.apache.org/proper/commons-lang/download_lang.cgi
下载好后,导入jar。
import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;
/**
*
* Java program to show how to remove element from Array in Java
* This program shows How to use Apache Commons ArrayUtils to delete
* elements from primitive array.
*
*/
public class RemoveObjectFromArray{
public static void main(String args[]) {
//let's create an array for demonstration purpose
int[] test = new int[] { 101, 102, 103, 104, 105};
System.out.println("Original Array : size : " test.length );
System.out.println("Contents : " Arrays.toString(test));
//let's remove or delete an element from Array using Apache Commons ArrayUtils
test = ArrayUtils.remove(test, 2); //removing element at index 2
//Size of array must be 1 less than original array after deleting an element
System.out.println("Size of array after removing an element : " test.length);
System.out.println("Content of Array after removing an object : "
Arrays.toString(test));
}
}
Output:
Original Array : size : 5
Contents : [101, 102, 103, 104, 105]
Size of array after removing an element : 4
Content of Array after removing an object : [101, 102, 104, 105]
当然,我们还有其他的方法,不过使用已经的库或java api来实现,更快速。
我们来看下ArrayUtils.remove(int[] array, int index)
方法源代码:
public static int[] remove(int[] array, int index) {
return (int[])((int[])remove((Object)array, index));
}
在跳转到remove((Object)array, index)) ,源代码:
private static Object remove(Object array, int index) {
int length = getLength(array);
if(index >= 0 && index < length) {
Object result = Array.newInstance(array.getClass().getComponentType(), length - 1);
System.arraycopy(array, 0, result, 0, index);
if(index < length - 1) {
System.arraycopy(array, index 1, result, index, length - index - 1);
}
return result;
} else {
throw new IndexOutOfBoundsException("Index: " index ", Length: " length);
}
}
这下明白了ArrayUtils的删除数组中元素的原理了吧。其实还是要用到两个数组,然后利用System.arraycopy()方法,将除了要删除的元素外的其他元素都拷贝到新的数组中,然后返回这个新的数组。
以上就是小编为大家带来的java中删除 数组中的指定元素方法全部内容了,希望大家多多支持~
# 删除数组中指定元素
# Java数组去重复的18种方法示例
# Java数组的去重
# JavaScrip数组去重操作实例小结
# Java实现的数组去重与排序操作详解
# java正则表达式实现提取需要的字符并放入数组【ArrayList数组去重复功能】
# JavaScrip数组删除特定元素的几种方法总结
# Java对int[]数组做新增删除去重操作代码
# 组中
# 来实现
# 小编
# 源代码
# 到新
# 是一个
# 是在
# 还可以
# 下载地址
# 这就是
# 其他的
# 我们可以
# 要用
# 这下
# 受欢迎
# 很清楚
# 种方法
# 转化为
# 转换为
# 方法来
相关文章:
建站为何优先选择香港服务器?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
如何通过万网虚拟主机快速搭建网站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何构建满足综合性能需求的优质建站方案?
如何在搬瓦工VPS快速搭建网站?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
如何通过cPanel快速搭建网站?
建站主机选购指南:核心配置优化与品牌推荐方案
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
济南企业网站制作公司,济南社保单位网上缴费步骤?
C#怎么创建控制台应用 C# Console App项目创建方法
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
文字头像制作网站推荐软件,醒图能自动配文字吗?
招贴海报怎么做,什么是海报招贴?
建站之星如何配置系统实现高效建站?
官网网站制作腾讯审核要多久,联想路由器newifi官网
高防服务器租用指南:配置选择与快速部署攻略
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
如何通过可视化优化提升建站效果?
建站上市公司网站建设方案与SEO优化服务定制指南
东莞专业制作网站的公司,东莞大学生网的网址是什么?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
如何在腾讯云服务器快速搭建个人网站?
成都网站制作报价公司,成都工业用气开户费用?
建站之星如何开启自定义404页面避免用户流失?
网站制作软件有哪些,制图软件有哪些?
如何彻底删除建站之星生成的Banner?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
建站之星后台管理:高效配置与模板优化提升用户体验
如何获取开源自助建站系统免费下载链接?
高端建站三要素:定制模板、企业官网与响应式设计优化
如何快速搭建个人网站并优化SEO?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
无锡营销型网站制作公司,无锡网选车牌流程?
相册网站制作软件,图片上的网址怎么复制?
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
网页设计与网站制作内容,怎样注册网站?
大连 网站制作,大连天途有线官网?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何设计高效校园网站?
php json中文编码为null的解决办法
临沂网站制作企业,临沂第三中学官方网站?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
建站之星如何实现PC+手机+微信网站五合一建站?
制作门户网站的参考文献在哪,小说网站怎么建立?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
*请认真填写需求信息,我们会在24小时内与您取得联系。