java 怎么删除List中的指定元素

现在有一个List,我要删除里面所有的"o",而且我不知道位置,怎么删除?... 现在有一个List,我要删除里面所有的 "o" ,而且我不知道位置,怎么删除? 展开
 我来答
高_婷婷
2018-05-19 · TA获得超过4010个赞
知道答主
回答量:25
采纳率:0%
帮助的人:3137
展开全部

主要有三种方法:

  1. 用一个List 记录要删除的数据,最后removeAll(List);

  2. for循环遍历,原始书写方式;

  3. 迭代器自带的remove方法,这也是官方推荐的方法。

白卡PALA
2015-06-04 · 知道合伙人软件行家
白卡PALA
知道合伙人软件行家
采纳数:648 获赞数:3420
性能测试4年工作经验。

向TA提问 私信TA
展开全部

从list中删除指定元素可以使用remove方法来实现:

ArrayList al = new ArrayList(); 
 
al.add("a"); 
 
al.add("b"); 
 
//al.add("b"); 
 
//al.add("c"); 
 
//al.add("d"); 
 
for (int i = 0; i < al.size(); i++) { 
 
if (al.get(i) == "b") { 
 
al.remove(i); 
 
i--; 
 

 
}

在代码中,删除元素后,需要把下标减一。这是因为在每次删除元素后,ArrayList会将后面部分的元素依次往上挪一个位置(就是copy),所以,下一个需要访问的下标还是当前下标,所以必须得减一才能把所有元素都遍历完。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
马说cvjhff
2018-11-23 · TA获得超过504个赞
知道小有建树答主
回答量:1096
采纳率:28%
帮助的人:98万
展开全部
亲们:多个制定元素标准方法如下。
public class test {
public static void main(String[] args) {
String str="部,部,机关1,机关2,基层1,基层2";
String[] arr=str.split(",");
List<String> list=Lists.newArrayList(arr);
Iterator<String> it=list.iterator();
while(it.hasNext()) {
String x = it.next();//这部绝对不能省略,it.next()在while里面执行的一次的时候只能调用一次,多次调用就不对了
if(x.equals("部")) {
System.out.println(x);
it.remove();
}
if(x.equals("机关1")) {
System.out.println(x);
it.remove();
}
}
System.out.println(list.size());
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
9999快快快I
电脑发烧友

2019-12-21 · 常见电脑网络问题都懂点
知道大有可为答主
回答量:5254
采纳率:65%
帮助的人:215万
展开全部
Java 循环删除list中指定元素

1.for循环遍历删除指定元素
2.增强for循环删除指定元素
3.iterator删除指定元素
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lutao6941957
2011-04-13 · TA获得超过215个赞
知道答主
回答量:83
采纳率:100%
帮助的人:86.2万
展开全部
既然你不知道他的位置

用个for循环吧 int i ;int j=list.size() 然后循环的遍历list里面的值,在for循环里面搞个if判断
判断条件就是if(Arraylist(i)=="o")
{
Arraylist.remove(i)
}
能明白我的意思吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式