1. 程式人生 > >List,Map在遍歷的時候remove

List,Map在遍歷的時候remove

List,Map在遍歷時remove裡邊的元素是會報異常的,所以我們要在遍歷之前宣告一個List,Map物件,用來儲存要刪除的元素,然後等遍歷完成之後,for迴圈之前宣告的List,Map,刪除遍歷裡邊的元素,具體例子如下:

contactsLists是遍歷的List,要刪除的List都放到了errorContactsList裡邊

List<ContactsList> errorContactsList = new ArrayList<ContactsList>();
      for (ContactsList contactsList : contactsLists)
      {
        if (contactsList.getName().trim().length() > NAME_LENGTH)
        {
          contactsList.setName(contactsList.getName().substring(0, NAME_LENGTH));
        }
        Matcher matcher = CELL_PHONE_PATTERN.matcher(contactsList.getPhone());
        if (!matcher.matches())
        {
          errorContactsList.add(contactsList);
        }
      }
      if (errorContactsList.size() > 0)
      {
        for (ContactsList contactsList : errorContactsList)
        {
          contactsLists.remove(contactsList);
        }
      }

相關推薦

java List Map的方法

public class Test { public static void main(String[] args) { List<Map<String, Object>> listMaps = new ArrayList<Map<

java List Map的方法

public class Test { public static void main(String[] args) { List<Map<String, Object>> listMaps = new Arra

list過程中的add/remove

com index 遍歷集合 很多 pub iterator clas util http 平時開發過程中,很多人估計都遇到過一個問題:在遍歷集合的的過程中,進行add或者remove操作的時候,會出現2類錯誤,包括:java.util.ConcurrentModifica

總結下ListMap方式(日常總結)

一.Map   public static void main(String[] args) { Map<Integer, Integer> map = new HashMap<>(); map.put(1, 2);

maplist迴圈

1 //map遍歷(zmm是實體類) 2 3 Map<String, zmm> maps = new HashMap<String, zmm>(); 4 5 //給map存值; 6 7 maps.put(username, zmm); 8 9 /

Map四種常用方法

map.entry pri ext try set next() 方式 keys println Map常用四種遍歷方式 一:   Map<String,String> map = new HashMap<String,String>();

java map

map 需要 既然 values 知識 關於 println bsp data- 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 在Java中如何遍歷Map對象 How to Iterate Over a Map in Java 在java中遍歷Map有不少的方法

Map 的幾種方法

sys each循環 nbsp while out main shm 簡單的 apt 復習map的過程中想到的,做個簡單的記錄 1 public class HashMapTest { 2 3 public static void main(String

foreach和map

修改 fun .html htm 自己 bsp 原來 console fine 參考網址:http://www.cnblogs.com/jocyci/p/5508279.html 1.foreach : 理論上這個方法是沒有返回值的,僅僅是遍歷數組中的每一項,不對原來數組

Java中List集合的三種方式

asn tex iter for nbsp next next() ray string 首先創建一個List集合: List<String> list = new ArrayList<String>();list.add("name"); list

原生JS forEach()和map(),jQuery$.each()和$.map()

each ole this asc fin name param view map() 一、原生JS forEach()和map()遍歷 共同點: 1.都是循環遍歷數組中的每一項。 2.forEach() 和 map() 裏面每一次執行匿名函數都支持3個參數:數組中的當前項

react.js map的問題

his 字符 click 改變 ima 相同 掛載 ant stat React遍歷多個Ant Design中的Upload組件時,隨意刪除任一個Upload出現了bug,依次點擊上傳圖片後,當點擊刪除時,倒著刪除沒有問題,從中間和從開頭刪問題出現了,出現了類似塌方的效果,

map總結

遍歷 map 新建 gpo pos 一個 body log map遍歷 如果只是獲取key,或者value,推薦使用keySet或者values方式 如果同時需要key和value推薦使用entrySet 如果需要在遍歷過程中刪除元素推薦使用Iterator 如果需要在遍歷

Java(8)中List方式

system pack map 新建 lam entry lambda googl list() ============Java8之前的方式==========Map<String, Integer> items = new HashMap<>()

【技術累積】【點】【java】【28】Map

兩種 bject amp urn 明顯 for object 一次 keyset Map遍歷 map的遍歷一般有幾種吧 遍歷entrySet for(Map.Entry<String,String> entry : map.entrySet()){

Map原來這麼簡單

如何初始化一個map: 示例: public class TestMap { public static Map<Integer, Integer> map = new HashMap<Integer, Integer>(); } keySet values 如果

Java之List集合的幾種方法

package cn.com.javatest.collection; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * Java之List集合遍歷的幾種方法 * * @au

golang中range在slice和map中的注意事項

package main import ( "fmt" ) func main() { slice := []int{0, 1, 2, 3} myMap := make(map[int]*int) for _,v :=range slice{ if v==1 {

Java基礎學習01——MapMap.Entry

問題描述 前些天遇到了一個疑問,今天終於驗證了一下,現在記錄下來。 問題是這樣的,大家遍歷Map的時候用Map.Entry,通過Map.Entry獲取到key和value,與存入Map當中的key和value是同一個物件嗎? 為了驗證一下這個問題我寫了如下程式碼: public st

Java Map方式的選——TreeMap、HashMap的key、value與效率分析

1. 闡述   對於Java中Map的遍歷方式,很多文章都推薦使用entrySet,認為其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,針對每個key,都要去Map中額外查詢一次value,從而降低了總體效率。