{"id":23765,"date":"2015-07-26T11:37:22","date_gmt":"2015-07-26T06:07:22","guid":{"rendered":"https:\/\/2thenew.xyz\/blog\/?p=23765"},"modified":"2015-07-26T12:15:39","modified_gmt":"2015-07-26T06:45:39","slug":"lets-listen-any-changes-made-in-collection-list-map-or-set","status":"publish","type":"post","link":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/","title":{"rendered":"Let&#8217;s listen any changes made in Collection (List, Map or Set)"},"content":{"rendered":"<p>Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using <em>ObservableList<\/em> for &#8216;List&#8217; and same can be applied for Map and Set as well.<\/p>\n<p>Here goes code to implement this :<\/p>\n<p>[java]<\/p>\n<p>import java.beans.*<br \/>\ndef event<br \/>\ndef listener = {<br \/>\nif (it instanceof ObservableList.ElementEvent) {<br \/>\nevent = it<br \/>\nlogEvent(event)<br \/>\n}<br \/>\nevent = null<br \/>\n} as PropertyChangeListener<\/p>\n<p>def logEvent (ObservableList.ElementEvent event) {<br \/>\n\u00a0 \u00a0 \u00a0 \u00a0println &quot;New element ${event.newValue}, ${event.changeType} at Index ${event.index} and replaced ${event.oldValue}&quot;\u00a0<br \/>\n}<\/p>\n<p>\/* Declare our list and add listener to listen any change*\/<br \/>\ndef observableList = [1, 2, 3] as ObservableList<br \/>\nobservableList.addPropertyChangeListener(listener)[\/java]<\/p>\n<p>If we don&#8217;t need an explanatory log then above block of code can be rewritten as :<\/p>\n<p>[java]<\/p>\n<p>def observableList = [1, 2, 3] as ObservableList<br \/>\nobservableList.addPropertyChangeListener({<br \/>\n\/*We can use newValue(), oldValue()and few more methods with &#8216;it&#8217; but not changeType() and index() as these are in child class of PropertyChan geListener*\/<br \/>\n})[\/java]<\/p>\n<p>Now it&#8217;s time to alter our list and see the change:<\/p>\n<p>[java]observableList.add 42<br \/>\nobservableList.remove(2)<br \/>\nobservableList.putAt(2, 10)<br \/>\nobservableList.addAll([1, 2, 3, 4])<br \/>\nobservableList.clear()[\/java]<\/p>\n<p>Result (For first snippet of code):<\/p>\n<p>[java]New element 42, ADDED at Index 3 and replaced null<br \/>\nNew element null, REMOVED at Index 2 and replaced 3<br \/>\nNew element 10, UPDATED at Index 2 and replaced 42<br \/>\nNew element java.lang.Object@19d9744, MULTI_ADD at Index 2 and replaced java.lang.Object@1361c3f<br \/>\nNew element java.lang.Object@19d9744, CLEARED at Index 0 and replaced java.lang.Object@1361c3f<br \/>\n[\/java]<\/p>\n<p>Hope it helps \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for &#8216;List&#8217; and same can be applied for Map and Set [&hellip;]<\/p>\n","protected":false},"author":230,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":3,"footnotes":""},"categories":[1],"tags":[9],"class_list":["post-23765","post","type-post","status-publish","format-standard","hentry","category-technology","tag-groovy"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for &#039;List&#039; and same can be applied for Map and Set\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Aman Kumar Mishra\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Let\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for &#039;List&#039; and same can be applied for Map and Set\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Let\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for &#039;List&#039; and same can be applied for Map and Set\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#article\",\"name\":\"Let\\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog\",\"headline\":\"Let&#8217;s listen any changes made in Collection (List, Map or Set)\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amanmishra\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2015-07-26T11:37:22+05:30\",\"dateModified\":\"2015-07-26T12:15:39+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#webpage\"},\"articleSection\":\"Technology, Groovy\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#listItem\",\"name\":\"Let&#8217;s listen any changes made in Collection (List, Map or Set)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#listItem\",\"position\":3,\"name\":\"Let&#8217;s listen any changes made in Collection (List, Map or Set)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amanmishra\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amanmishra\\\/\",\"name\":\"Aman Kumar Mishra\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/897dd702-e197-4213-b80a-d8314c349e55_417-Aman-Kumar-Mishra-PROFILEPICTURE.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Aman Kumar Mishra\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/\",\"name\":\"Let\\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog\",\"description\":\"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for 'List' and same can be applied for Map and Set\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/lets-listen-any-changes-made-in-collection-list-map-or-set\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amanmishra\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/amanmishra\\\/#author\"},\"datePublished\":\"2015-07-26T11:37:22+05:30\",\"dateModified\":\"2015-07-26T12:15:39+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Let\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog","description":"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for 'List' and same can be applied for Map and Set","canonical_url":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#article","name":"Let\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog","headline":"Let&#8217;s listen any changes made in Collection (List, Map or Set)","author":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/amanmishra\/#author"},"publisher":{"@id":"https:\/\/2thenew.xyz\/blog\/#organization"},"datePublished":"2015-07-26T11:37:22+05:30","dateModified":"2015-07-26T12:15:39+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#webpage"},"articleSection":"Technology, Groovy"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.xyz\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/2thenew.xyz\/blog\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#listItem","name":"Let&#8217;s listen any changes made in Collection (List, Map or Set)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#listItem","position":3,"name":"Let&#8217;s listen any changes made in Collection (List, Map or Set)","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/technology\/#listItem","name":"Technology"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.xyz\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.xyz\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.xyz\/blog\/author\/amanmishra\/#author","url":"https:\/\/2thenew.xyz\/blog\/author\/amanmishra\/","name":"Aman Kumar Mishra","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/897dd702-e197-4213-b80a-d8314c349e55_417-Aman-Kumar-Mishra-PROFILEPICTURE.jpeg","width":96,"height":96,"caption":"Aman Kumar Mishra"}},{"@type":"WebPage","@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#webpage","url":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/","name":"Let\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog","description":"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for 'List' and same can be applied for Map and Set","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.xyz\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/amanmishra\/#author"},"creator":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/amanmishra\/#author"},"datePublished":"2015-07-26T11:37:22+05:30","dateModified":"2015-07-26T12:15:39+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.xyz\/blog\/#website","url":"https:\/\/2thenew.xyz\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.xyz\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Let\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog","og:description":"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for 'List' and same can be applied for Map and Set","og:url":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/","og:image":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Let\u2019s listen any changes made in Collection (List, Map or Set) | TO THE NEW Blog","twitter:description":"Have you ever wondered how come your Collection is being updated and ended up spending time on debugging? We are going to see how can we get to know immediately if our Collection is altered. In this blog, we will do this using ObservableList for 'List' and same can be applied for Map and Set","twitter:image":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"23765","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"","og_object_type":"blog","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-30 00:28:20","updated":"2024-02-29 09:34:09","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.xyz\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.xyz\/blog\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tLet\u2019s listen any changes made in Collection (List, Map or Set)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.xyz\/blog"},{"label":"Technology","link":"https:\/\/2thenew.xyz\/blog\/category\/technology\/"},{"label":"Let&#8217;s listen any changes made in Collection (List, Map or Set)","link":"https:\/\/2thenew.xyz\/blog\/lets-listen-any-changes-made-in-collection-list-map-or-set\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts\/23765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/users\/230"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/comments?post=23765"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts\/23765\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/media?parent=23765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/categories?post=23765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/tags?post=23765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}