首页 > 其他分享 >遍历删除集合元素

遍历删除集合元素

时间:2024-01-23 23:44:39浏览次数:27  
标签:遍历 删除 list System println add 集合 out

 1 public class Test {
 2     public static void main(String[] args) {
 3         List<String> list = new ArrayList<>();
 4         list.add("张三");
 5         list.add("张三");
 6         list.add("李四");
 7         list.add("李四");
 8         list.add("王武");
 9         list.add("王武");
10         list.add("赵六");
11         list.add("赵六");
12         list.add("侯柒");
13         list.add("侯柒");
14         System.out.println(list);
15 
16         System.out.println("========迭代器删除王武=========");
17         //  迭代器删除王武     用迭代器可以删除,不能用集合来删除(报错)
18         Iterator<String> iterator = list.iterator();
19         while (iterator.hasNext()){
20             String next = iterator.next();
21             if ("王武".equals(next)){
22 //                list.remove("王武");
23                 iterator.remove();
24             }
25         }
26         System.out.println(list);
27         System.out.println("========foreach遍历删除赵六=========");
28 
29         //  foreach 遍历删除
30 //        for (String s : list){  //  forEach报bug
31 //            if ("赵六".equals(s)){
32 //                list.remove("赵六");
33 //            }
34 //        }
35         System.out.println(list);
36 
37         //  lambda 表达式    会报错
38 //        System.out.println("========lambda 表达式删除李四=========");
39 //        list.forEach( s -> {
40 //            if ("李四".equals(s)){
41 //                list.remove("李四");
42 //            }
43 //        });
44 
45         //  for循环删除张三   不报错但数据会漏删,解决方案:倒删或下标 i--
46         System.out.println("========for循环删除张三=========");
47         for (int i = 0; i < list.size(); i++) {
48             String s = list.get(i);
49             if ("张三".equals(s)){
50                 list.remove("张三");
51                 i--;
52             }
53         }
54         System.out.println(list);
55 
56         System.out.println("========for循环倒着删除侯柒=========");
57         for (int i = list.size() - 1; i >= 0; i--) {
58             String s = list.get(i);
59             if ("侯柒".equals(s)){
60                 list.remove("侯柒");
61             }
62         }
63         System.out.println(list);
64     }
65 }

 

标签:遍历,删除,list,System,println,add,集合,out
From: https://www.cnblogs.com/dsds/p/17983676

相关文章

  • SQL的一些通用语句-数据库和表的创建、删除、查询
    SQL的一些通用语句DDL(数据定义语言)-数据库操作查询查询所有数据库SHOWDATABASES;查询当前数据库SELECTDATABASE();创建CREATEDATABASE[IFNOTEXISTS]数据库名[DEFAULTCHARSET字符集][COLLATE排序规则];[IFNOTEXISTS]为可选项[DEFAULTCHARSET字......
  • 板子集合
    tarjan点击查看代码//缩点voidtarjan(intu){dfn[u]=low[u]=++t;s[++top]=u;vis[u]=1;for(inti=0;i<g[u].size();++i){intv=g[u][i];if(!dfn[v]){tarjan(v);low[u]=min(low[u],low[v]);}elseif(vis[v])low[u]=......
  • 判断两个不重复的list集合是否相等 只比较元素值 不比较顺序
    判断两个不重复的list集合是否相等只比较元素值不比较顺序......
  • k8s强制删除pod节点
    场景突然getpod的时候,发现一堆的错误,得把它干掉,否则很不爽。解决方案正常过期的状态,比如Evicted,用正常指令kubectl-njingugetpods|grepEvicted|awk'{print$1}'|xargskubectl-njingudeletepods干不掉的pods,比如Terminating,只能用强制指令kubectl-njin......
  • clickhouse 删除数据的几种常见的方式
    clickhouse数据库清理数据的方式很多,各有自己的优缺点,正面介绍几种常见的方式。一、执行delete方式此种方式为异步执行,并不是实时的。##DELETE操作--删除记录altertableck_dev01deletewhereid='33';--删除分片表数据altertableck_dev01onclustermain_clusterwher......
  • 【Powershell】在 PowerShell 数组中添加和删除项
    在PowerShell数组中添加和删除项是一个可能会导致一些意外的报错,这里我把可用的办法总结一下。问题:创建一个数组,我们将记下System.Array类型:$Fruits="Apple","Pear","Banana","Orange"$Fruits.GetType()但是,如果我们尝试向数组添加或删除项目,则会出现“集合大小固定”的错误......
  • RabbitMq批量删除队列
    RabbitMq批量删除队列​ 由于部分公司同事使用RabbitMq时,没有将Client设置为autodelete,导致大量冗余队列。其中这些队列又是无routekey队列,收到了批量的订阅消息,占用服务器内存。​ 如何将这些无用的队列删除成为一个问题?经过多次摸索,在rabbitmqmanagementapi里面找到了方案:u......
  • 删除字典中的空值
    defremove_none_values_iterative(data):stack=[data]whilestack:current=stack.pop()ifisinstance(current,dict):forkey,valueinlist(current.items()):ifvalueisNone:......
  • Java集合篇
    面渣逆袭一、Java集合篇2024/1/22哈希冲突的解决方案:哈希冲突是指输入两个不同的值,通过同一个哈希函数,得到一个相同的值;而HashMap是通过链表的方式来解决哈希冲突;链地址法:在冲突的位置拉一个链表,把冲突的元素放进去;开放定址法:从冲突的位置上接着往下找,给冲突元素......
  • STL-Set集合
    STL-Set集合目录STL-Set集合导入构造插入删除查找元素遍历元素成员方法multisetunordered_set参考资料set集合unordered_set无序集合set的元素不像map那样可以同时拥有实值和键值,set的元素即是键值又是实值。set不允许两个元素有相同的键值。不允许出现相同的两个se......