探究一下:如何删除一个list的元素?
2016-03-23 15:54
337 查看
昨天在项目中用了一下list.remove();
遇到了问题,在此记录一下,并来验证N种解决方法。
我的代码:
很明显这样写是错误的,因为list使用remove方法时,会让后一个元素自动填补到被移除元素的位置。
方案:
int i = list.size(); i>=0;i–
for (int i = 0; i < list.size(); i++) {
if (((String) list.get(i)).startsWith(“abcde”)) {
list.remove(i);
i=i-1;
}
}
for (@SuppressWarnings(“rawtypes”)
Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.startsWith(“item”)){
it.remove();
}
}
4
List liststr=new ArrayList();
for(String str:list){
if(str.startsWith(“item”)){
liststr.add(str);
}
}
list.removeAll(liststr);
遇到了问题,在此记录一下,并来验证N种解决方法。
我的代码:
for(int i=0;i<list.size();i++){ if(!(list.get(i)) { list.remove(i); } }
很明显这样写是错误的,因为list使用remove方法时,会让后一个元素自动填补到被移除元素的位置。
方案:
int i = list.size(); i>=0;i–
for (int i = 0; i < list.size(); i++) {
if (((String) list.get(i)).startsWith(“abcde”)) {
list.remove(i);
i=i-1;
}
}
for (@SuppressWarnings(“rawtypes”)
Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.startsWith(“item”)){
it.remove();
}
}
4
List liststr=new ArrayList();
for(String str:list){
if(str.startsWith(“item”)){
liststr.add(str);
}
}
list.removeAll(liststr);
相关文章推荐
- 安卓国内镜像网站
- Linux 开发工具学习(gcc 、gdb和makefile)
- MONGODB用户、角色和权限管理
- Linux 的字符串截取很有用
- 符号标点希腊字母
- windows下用putty上传文件到远程Linux方法
- 如何查看安装的java是32位的,还是64位的
- centos下安装zabbix
- 使用MiniProfiler调试ASP.NET MVC网站性能
- 我认为需要代码规范
- spring事务的隔离级别和传播属性
- Canvas绘制以及使用第三方字体(多媒体学习基础)
- POJ3737
- php算法
- xml字符串的解析
- java操作sqlserver存储过程
- ios XCODE 7.2版本的多语言本地化国际化
- Android图像处理之Canvas
- Ajax工作原理
- 【技术分享】Android应用安全开发之浅谈加密算法的坑