java中删除 数组中的指定元素方法
2017-11-14 20:35
639 查看
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。
?
当然,我们还有其他的方法,不过使用已经的库或java api来实现,更快速。
我们来看下ArrayUtils.remove(int[] array, int index)
方法源代码:
?
在跳转到remove((Object)array, index)) ,源代码:
?
这下明白了ArrayUtils的删除数组中元素的原理了吧。其实还是要用到两个数组,然后利用System.arraycopy()方法,将除了要删除的元素外的其他元素都拷贝到新的数组中,然后返回这个新的数组。
不过,我们要感谢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。
?
我们来看下ArrayUtils.remove(int[] array, int index)
方法源代码:
?
?
相关文章推荐
- java中删除 数组中的指定元素方法
- java中删除数组中的指定元素方法,数组和字符串互相转化方法
- jquery数组删除指定元素的方法:grep()
- JavaScript从数组中删除指定值元素的方法
- JavaScript从数组中删除指定值元素的方法
- Java 实现从数组删除指定位置元素
- JavaScript从数组中删除指定值元素的方法
- java删除数组中的某一个元素的方法
- Java ArrayList add(index,element) 方法插入元素到数组指定位置
- Java删除数组指定元素,并压缩数组
- java中从一个对象数组中删除元素和判断对象数组存了几个元素的方法
- php删除数组中指定值的元素的几种方法
- 给数组添加一个根据指定下标删除元素的方法、得到0-100的随机数不重复(js)、得到外联样式的css样式值
- JAVA中的数组插入与删除指定元素
- JavaScript从数组中删除指定值元素的方法
- 根据key删除数组中指定的元素实现方法
- Java-第十四章-带参的方法(二)-编写程序,向整型数组的指定位置插入元素,并输出前后的值
- 浅析jquery数组删除指定元素的方法:grep()
- Java从在数组中删除指定元素
- 浅析jquery数组删除指定元素的方法:grep()