ArrayList 如何完美去除空值
package sourceCode.ArrayList; import java.util.ArrayList;
import java.util.List; public class arrayListTest { public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add(null);
list.add(null);
list.add(null);
list.add(null);
list.add(null);
list.add(null);
list.add("d");
list.add(null);
// 正解
List<String> list2 = new ArrayList<String>();
list2.add(null);
list.removeAll(list2);
// 错解
/**
* 可能有人会这样操作,但这方法是错的。 因为ArrayList是基于数组实现的,当remove(E)一个元素时,剩下的元素下标就会变化
* 比如当前例子,index=3的时候,remove 掉了 null,此时下一个元素(null)向前挪,它的index就变成了3
* 而此时迭代器的i已经走完了3,下一次循环就是4了 ,所以此刻这个null就永远无法remove掉了。
*/
for (int i = 0; i < list.size(); i++) {
if (list.get(i) == null || list.contains(null)) {
list.remove(null);
}
}
}
}
ArrayList 如何完美去除空值的更多相关文章
- php 数组去除空值
/** * 方法库-数组去除空值 * @param string $num 数值 * @return string */ public function array_remove_empty(& ...
- PHP不定维数组去除空值
最近遇到一个问题,是将不定维数组的空值去除,回来研究了一下,写出来了,不知道是否还能优化 写的不好的,如果有好的想法或者好的实现方法,欢迎提出来,如果哪里写错了,也欢迎大牛可以讲解一下 代码如下,欢迎 ...
- 完美去除WPF按钮的边框
主页面背影图片, 添加5个功能按钮,并设置按钮的Background和BorderBrush为Transparent,好像没有问题,运行效果 不仅有一个发光的边框,而且当鼠标经过时,按钮就不在透明, ...
- JS数组去除空值
/** * 扩展Array方法, 去除数组中空白数据 */ Array.prototype.notempty = function() { var arr = []; this.map(functio ...
- js 数组去除空值
for(var i = 0 ;i<wordarr.length;i++) { if(wordarr[i] == "& ...
- win10完美去除小箭头
1.去掉小箭头 reg add /d "%systemroot%\system32\imageres.dll,197" /t reg_sz /f taskkill /f /im e ...
- 转:win10完美去除快捷方式小箭头
1.去掉小箭头 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Ic ...
- JAVA案例练习: 去除ArrayList中重复的字符串(字符串内容相同),去除重复的对象
package com.yqw.list; import java.util.ArrayList;import java.util.Iterator; public class Demo_ArrayL ...
- JS截取腾讯视频和去除视频广告
一:腾讯视频截取 H5视频播放除了video标签以外,还有iframe嵌套视频 项目需求是用户输入腾讯视频的html链接,如 https://v.qq.com/x/page/y0116k2vspw.h ...
随机推荐
- C#:判断100--999之前的水仙花数
//判断100--999之前的水仙花数.水仙花数举例:153=13+53+33. using System;public class Program { public static void ...
- .NET客户端实现Redis中的管道(PipeLine)与事物(Transactions)
序言 Redis中的管道(PipeLine)特性:简述一下就是,Redis如何从客户端一次发送多个命令,服务端到客户端如何一次性响应多个命令. Redis使用的是客户端-服务器模型和请求/响应协议的T ...
- Android Fragment 开发(一)
最近在学习Fragment 的使用,想弄一个在子窗体中调用父的方法,一直报错,终于找到解决方法啦 父窗体名称:MainActivity 父中有一个public的方法show() 子窗体调用: Main ...
- BFS-基础简单的算法
前言 有时候,当你并不了解很多高级算法的时候,搜索不失为一种解决问题的好方法,而且很多高级算法有或多或少的会用到搜索或者搜索的思想.可见,搜索是一个基础并且必须要掌握的算法. 在这篇文章中,会对BFS ...
- Apache无法启动原因
Apache不能启动解决办法 作者的话:遇到这个问题的时候,从网上找了很多资料,结果都是让我这个新手摸不着头绪 还好,在我长时间的查找下,还是找到了一篇文章,解决了我的烦恼,下面是我对这个文章的一些对 ...
- 查看 NDK 版本
打开Android Studio , 打开左上角的菜单, File => Settings... 打开一个弹窗. 然后在 Appearance & Behavior =>Syst ...
- vue的使用总结
1.vue的生命周期
- 日历组件的使用,bootstrap-datetimepicker
官方文档:http://www.bootcss.com/p/bootstrap-datetimepicker/ .html <input name="createdTimeEnd&qu ...
- Javascript 闭包访问问题?
function pfajax(paradata){ $.ajax({ data : paradata.dat, type : paradata.method, async: false, url : ...
- linux命令之查看字符集
lucifer@abc:~$ locale -a 查看本地字符集lucifer@abc:~$ locale -m 查看所有支持的字符集将文件从gb2312转为utf8iconv -f gb2312 - ...