[prev in list] [next in list] [prev in thread] [next in thread] 

List:       groovy-user
Subject:    [groovy-user] Re: How to compare two nested maps.
From:       Dinesh <dinez.v () gmail ! com>
Date:       2013-04-26 11:53:29
Message-ID: 70E1EECA-E73E-42CA-B8E7-877CB0B2A703 () gmail ! com
[Download RAW message or body]

That's awesome. Thanks everyone...

On 26 ಎಪ್ರಿಲ್ 2013, at 05:34 AM, "paulk_asert [via Groovy]" \
<ml-node+s329449n5715186h45@n5.nabble.com> wrote:

> 
> +1, much nicer 
> 
> On 26/04/2013 6:42 PM, Dinko Srkoc wrote:
> 
> > One can also use multimethods to break down checks by type. IMO, it 
> > makes the code a bit more clear, and avoids `instanceof`: 
> > 
> > def equiv(Map a, Map b) { 
> > a.size() == b.size() && 
> > a.every { k, v -> b.containsKey(k) && equiv(v, b[k]) } 
> > } 
> > 
> > def equiv(List a, List b) { 
> > a.toSet() == b.toSet() 
> > } 
> > 
> > def equiv(a, b) { 
> > a == b 
> > } 
> > 
> > Cheers, 
> > Dinko 
> > 
> > On 26 April 2013 06:24, Paul King <[hidden email]> wrote: 
> > > 
> > > Yes, calling recursively  would be appropriate. 
> > > 
> > > def equiv(val1, val2) { 
> > > if (val1 instanceof List && val2 instanceof List) { 
> > > return val1.toSet() == val2.toSet() 
> > > } 
> > > if (val1 instanceof Map && val2 instanceof Map) { 
> > > if (val1.size() != val2.size()) return false 
> > > return val1.every { k, v -> 
> > > if (!val2.containsKey(k)) return false 
> > > if (!equiv(v, val2[k])) return false 
> > > true 
> > > } 
> > > } 
> > > val1 == val2 
> > > } 
> > > 
> > > Cheers, Paul. 
> > > 
> > > 
> > > 
> > > On 26/04/2013 12:32 PM, Dinesh wrote: 
> > > > 
> > > > Thank you very much Paul... 
> > > > 
> > > > I have some other cases where I have list, string, integer inside a map, 
> > > > where this is not working... I have modified a little bit as shown below  ( 
> > > > the code should take care of nested conditions too...). Do i need to do it 
> > > > recursively? kindly advise... 
> > > > 
> > > > In the below map2, the map entry aMap has "arr" key whose oder is 
> > > > different. 
> > > > 
> > > > def map1 = ["num":123, "bool":true, "str":"Hello", "aMap":["num":123, 
> > > > "bool":false, "str":"hello", "bMap":["num":123, "bool":false, 
> > > > "str":"hello"],"arr": ["one","two"]]] 
> > > > def map2 = ["num":123, "str":"Hello", "bool":true, "aMap":["num":123, 
> > > > "bool":false, "str":"hello", "bMap":["num":123, "bool":false, 
> > > > "str":"hello"],"arr": ["two","one"]]] 
> > > > 
> > > > def areMapsEquiv(map1,map2){ 
> > > > map1.every {k, v -> 
> > > > if ( !map2.containsKey(k)) return false 
> > > > if ( v instanceof List ) { 
> > > > if (v.toSet() != map2[k].toSet()) return false 
> > > > } 
> > > > else{ 
> > > > if ( v != map2[k] ) return false 
> > > > } 
> > > > true 
> > > > } 
> > > > } 
> > > > 
> > > > areMapsEquiv (map1,map2) 
> > > > 
> > > > 
> > > > On Thu, Apr 25, 2013 at 7:17 PM, paulk_asert [via Groovy] <[hidden email] 
> > > > </user/SendEmail.jtp?type=node&node=5715178&i=0>> wrote: 
> > > > 
> > > > 
> > > > You don't give much background but here is one way that might be 
> > > > close to what you need: 
> > > > 
> > > > def areMapsEquiv(map1, map2) { 
> > > > if (map1.size() != map2.size()) return false 
> > > > map1.every { k, v -> 
> > > > if (!map2.containsKey(k)) return false 
> > > > if (k == 'LA' && v.toSet() != map2[k].toSet()) return false 
> > > > if (k != 'LA' && v != map2[k]) return false 
> > > > true 
> > > > } 
> > > > } 
> > > > 
> > > > Of course if you can you would just store sets in your data structure. 
> > > > Then you would just use "map1 == map2". 
> > > > 
> > > > Cheers, Paul. 
> > > > 
> > > > On 26/04/2013 8:11 AM, Dinesh wrote: 
> > > > 
> > > > > Ok, but to compare those maps... 
> > > > > 
> > > > > Thanks... 
> > > > > 
> > > > > On Apr 25, 2013, at 6:05 PM, "tim yates-2 [via Groovy]" <[hidden 
> > > > email] </user/SendEmail.jtp?type=node&node=5715176&i=0>> wrote: 
> > > > > 
> > > > > > The problem is those aren't nested maps, they're lists of maps. 
> > > > > > 
> > > > > > So you need something that says [ 1, 2 ] == [ 2, 1 ] 
> > > > > > 
> > > > > > On 25 Apr 2013 22:46, "Dinesh" <[hidden email] 
> > > > </user/SendEmail.jtp?type=node&node=5715175&i=0>> wrote: 
> > > > 
> > > > > > 
> > > > > > Hi, 
> > > > > > 
> > > > > > I am new to Groovy and I need a groovy method to compare 
> > > > nested maps: 
> > > > > > Below are the samples - both maps are same (only the order of 
> > > > the maps in 
> > > > > > the list is different) however, equals on the returns false. 
> > > > Can anybody 
> > > > > > tell me how to compare these kind of nested maps by ignoring 
> > > > the orders in 
> > > > > > groovy. 
> > > > > > 
> > > > > > def map1 = 
> > > > > > 
> > > > ["BA":[],"ow":"a5I","Code":"300","LA":[["name":"tom","number":5],["name":"hank","number":3]]] \
> > > > 
> > > > > > def map2 = 
> > > > > > 
> > > > ["BA":[],"ow":"a5I","Code":"300","LA":[["name":"hank","number":3],["name":"tom","number":5]]] \
> > > > 
> > > > > > 
> > > > > > Thanks... 
> > > > 
> > > > --------------------------------------------------------------------- 
> > > > To unsubscribe from this list, please visit: 
> > > > 
> > > > http://xircles.codehaus.org/manage_email
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------------------------------------------------------------ \
> > > >  
> > > > If you reply to this email, your message will be added to the 
> > > > discussion below: 
> > > > 
> > > > http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715177.html
> > > >  To unsubscribe from How to compare two nested maps., click here. 
> > > > NAML 
> > > > <http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewe \
> > > > r&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNames \
> > > > pace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNam \
> > > > espace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> \
> > > >  
> > > > 
> > > > 
> > > > 
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------ \
> > > > ------------------------------------------------------------------------------------------------------------------------------------ \
> > > >  View this message in context: Re: How to compare two nested maps. 
> > > > <http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715178.html> \
> > > >  Sent from the groovy - user mailing list archive 
> > > > <http://groovy.329449.n5.nabble.com/groovy-user-f329450.html> at Nabble.com. 
> > > 
> > > 
> > > 
> > > --------------------------------------------------------------------- 
> > > To unsubscribe from this list, please visit: 
> > > 
> > > http://xircles.codehaus.org/manage_email
> > > 
> > > 
> > 
> > --------------------------------------------------------------------- 
> > To unsubscribe from this list, please visit: 
> > 
> > http://xircles.codehaus.org/manage_email
> > 
> > 
> > 
> 
> 
> --------------------------------------------------------------------- 
> To unsubscribe from this list, please visit: 
> 
> http://xircles.codehaus.org/manage_email
> 
> 
> 
> 
> If you reply to this email, your message will be added to the discussion below:
> http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715186.html
>  To unsubscribe from How to compare two nested maps., click here.
> NAML




--
View this message in context: \
http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715190.html
 Sent from the groovy - user mailing list archive at Nabble.com.


[Attachment #3 (text/html)]

<meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br>That's \
awesome. Thanks everyone...</div><div><br>On 26 ಎಪ್ರಿಲ್ 2013, at 05:34 \
AM, "paulk_asert [via Groovy]" &lt;<a \
href="/user/SendEmail.jtp?type=node&node=5715190&i=0" target="_top" rel="nofollow" \
link="external">[hidden email]</a>&gt; wrote:<br><br></div><blockquote \
style='border-left:2px solid #CCCCCC;padding:0 1em' type="cite"><div>

	<br>+1, much nicer
<br><br>On 26/04/2013 6:42 PM, Dinko Srkoc wrote:
<div class="shrinkable-quote"><div class='shrinkable-quote'><br>&gt; One can also use \
multimethods to break down checks by type. IMO, it <br>&gt; makes the code a bit more \
clear, and avoids `instanceof`: <br>&gt;
<br>&gt; &nbsp; &nbsp; &nbsp;def equiv(Map a, Map b) {
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a.size() == b.size() &amp;&amp;
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a.every { k, v -&gt; b.containsKey(k) \
&amp;&amp; equiv(v, b[k]) } <br>&gt; &nbsp; &nbsp; &nbsp;}
<br>&gt;
<br>&gt; &nbsp; &nbsp; &nbsp;def equiv(List a, List b) {
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a.toSet() == b.toSet()
<br>&gt; &nbsp; &nbsp; &nbsp;}
<br>&gt;
<br>&gt; &nbsp; &nbsp; &nbsp;def equiv(a, b) {
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a == b
<br>&gt; &nbsp; &nbsp; &nbsp;}
<br>&gt;
<br>&gt; Cheers,
<br>&gt; Dinko
<br>&gt;
<br>&gt; On 26 April 2013 06:24, Paul King &lt;<a \
href="/user/SendEmail.jtp?type=node&amp;node=5715186&amp;i=0" target="_top" \
rel="nofollow" link="external">[hidden email]</a>&gt; wrote: <br>&gt;&gt;
<br>&gt;&gt; Yes, calling recursively &nbsp;would be appropriate.
<br>&gt;&gt;
<br>&gt;&gt; def equiv(val1, val2) {
<br>&gt;&gt; &nbsp; &nbsp;if (val1 instanceof List &amp;&amp; val2 instanceof List) {
<br>&gt;&gt; &nbsp; &nbsp; &nbsp;return val1.toSet() == val2.toSet()
<br>&gt;&gt; &nbsp; &nbsp;}
<br>&gt;&gt; &nbsp; &nbsp;if (val1 instanceof Map &amp;&amp; val2 instanceof Map) {
<br>&gt;&gt; &nbsp; &nbsp; &nbsp;if (val1.size() != val2.size()) return false
<br>&gt;&gt; &nbsp; &nbsp; &nbsp;return val1.every { k, v -&gt;
<br>&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;if (!val2.containsKey(k)) return false
<br>&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;if (!equiv(v, val2[k])) return false
<br>&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;true
<br>&gt;&gt; &nbsp; &nbsp; &nbsp;}
<br>&gt;&gt; &nbsp; &nbsp;}
<br>&gt;&gt; &nbsp; &nbsp;val1 == val2
<br>&gt;&gt; }
<br>&gt;&gt;
<br>&gt;&gt; Cheers, Paul.
<br>&gt;&gt;
<br>&gt;&gt;
<br>&gt;&gt;
<br>&gt;&gt; On 26/04/2013 12:32 PM, Dinesh wrote:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; Thank you very much Paul...
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; I have some other cases where I have list, string, integer inside a \
map, <br>&gt;&gt;&gt; where this is not working... I have modified a little bit as \
shown below &nbsp;( <br>&gt;&gt;&gt; the code should take care of nested conditions \
too...). Do i need to do it <br>&gt;&gt;&gt; recursively? kindly advise...
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; In the below map2, the map entry aMap has "arr" key whose oder is
<br>&gt;&gt;&gt; different.
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; def map1 = ["num":123, "bool":true, "str":"Hello", \
"aMap":["num":123, <br>&gt;&gt;&gt; "bool":false, "str":"hello", "bMap":["num":123, \
"bool":false, <br>&gt;&gt;&gt; "str":"hello"],"arr": ["one","two"]]]
<br>&gt;&gt;&gt; def map2 = ["num":123, "str":"Hello", "bool":true, \
"aMap":["num":123, <br>&gt;&gt;&gt; "bool":false, "str":"hello", "bMap":["num":123, \
"bool":false, <br>&gt;&gt;&gt; "str":"hello"],"arr": ["two","one"]]]
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; def areMapsEquiv(map1,map2){
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; map1.every {k, v -&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ( \
!map2.containsKey(k)) return false <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ( v instanceof List ) { <br>&gt;&gt;&gt; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (v.toSet() != \
map2[k].toSet()) return false <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; } <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; else{ <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if ( v != map2[k] ) return false \
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp;} <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp;true <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; } <br>&gt;&gt;&gt; }
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; areMapsEquiv (map1,map2)
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; On Thu, Apr 25, 2013 at 7:17 PM, paulk_asert [via Groovy] \
&lt;[hidden email] <br>&gt;&gt;&gt; \
&lt;/user/SendEmail.jtp?type=node&amp;node=5715178&amp;i=0&gt;&gt; wrote: \
<br>&gt;&gt;&gt; <br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;You don't give much background but here is one \
way that might be <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;close to what you need:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;def areMapsEquiv(map1, map2) {
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (map1.size() != map2.size()) \
return false <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;map1.every { k, v \
-&gt; <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if \
(!map2.containsKey(k)) return false <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp;if (k == 'LA' &amp;&amp; v.toSet() != map2[k].toSet()) return false \
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (k != 'LA' &amp;&amp; v \
!= map2[k]) return false <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp;true <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;}
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;Of course if you can you would just store sets \
in your data structure. <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;Then you would just use \
"map1 == map2". <br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;Cheers, Paul.
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;On 26/04/2013 8:11 AM, Dinesh wrote:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt; Ok, but to compare those maps...
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt; Thanks...
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt; On Apr 25, 2013, at 6:05 PM, "tim yates-2 \
[via Groovy]" &lt;[hidden <br>&gt;&gt;&gt; email] \
&lt;/user/SendEmail.jtp?type=node&amp;node=5715176&amp;i=0&gt;&gt; wrote: \
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt; <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; \
&gt;&gt; The problem is those aren't nested maps, they're lists of maps. \
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; \
&gt;&gt; So you need something that says [ 1, 2 ] == [ 2, 1 ] <br>&gt;&gt;&gt; &nbsp; \
&nbsp; &nbsp; &gt;&gt; <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; On 25 Apr 2013 \
22:46, "Dinesh" &lt;[hidden email] <br>&gt;&gt;&gt; \
&lt;/user/SendEmail.jtp?type=node&amp;node=5715175&amp;i=0&gt;&gt; wrote: \
<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; Hi,
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; I am new to Groovy and I \
need a groovy method to compare <br>&gt;&gt;&gt; nested maps:
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; Below are the samples - \
both maps are same (only the order of <br>&gt;&gt;&gt; the maps in
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; the list is different) \
however, equals on the returns false. <br>&gt;&gt;&gt; Can anybody
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; tell me how to compare \
these kind of nested maps by ignoring <br>&gt;&gt;&gt; the orders in
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; groovy.
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; def map1 =
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt;
<br>&gt;&gt;&gt; ["BA":[],"ow":"a5I","Code":"300","LA":[["name":"tom","number":5],["name":"hank","number":3]]]
 <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; def map2 =
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt;
<br>&gt;&gt;&gt; ["BA":[],"ow":"a5I","Code":"300","LA":[["name":"hank","number":3],["name":"tom","number":5]]]
 <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &gt;&gt; &nbsp; &nbsp; Thanks...
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; \
&nbsp;--------------------------------------------------------------------- \
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;To unsubscribe from this list, please visit: \
<br>&gt;&gt;&gt; <br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;<a \
href="http://xircles.codehaus.org/manage_email" target="_top" rel="nofollow" \
link="external">http://xircles.codehaus.org/manage_email</a><br>&gt;&gt;&gt; \
<br>&gt;&gt;&gt; <br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; --------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
---------------------------------------------------------------------------------------------------------------------------------------------------
 <br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;If you reply to this email, your message will be \
added to the <br>&gt;&gt;&gt; discussion below:
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; <a href="http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715177.html" \
target="_top" rel="nofollow" \
link="external">http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715177.html</a><br>&gt;&gt;&gt; \
&nbsp; &nbsp; &nbsp;To unsubscribe from How to compare two nested maps., click here. \
<br>&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;NAML <br>&gt;&gt;&gt; &lt;<a \
href="http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&a \
mp;id=instant_html%21nabble%3Aemail.naml&amp;base=nabble.naml.namespaces.BasicNamespac \
e-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&amp; \
breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml" \
target="_top" rel="nofollow" \
link="external">http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=macr \
o_viewer&amp;id=instant_html%21nabble%3Aemail.naml&amp;base=nabble.naml.namespaces.Bas \
icNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeName \
space&amp;breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml</a>&gt;
 <br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt;
<br>&gt;&gt;&gt; --------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
-------------------------------------------------------------------------------------- \
---------------------------------------------------------------------------------------------------------------------------------------------------
 <br>&gt;&gt;&gt; View this message in context: Re: How to compare two nested maps.
<br>&gt;&gt;&gt; &lt;<a \
href="http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715178.html" \
target="_top" rel="nofollow" \
link="external">http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715178.html</a>&gt;
 <br>&gt;&gt;&gt; Sent from the groovy - user mailing list archive
<br>&gt;&gt;&gt; &lt;<a \
href="http://groovy.329449.n5.nabble.com/groovy-user-f329450.html" target="_top" \
rel="nofollow" link="external">http://groovy.329449.n5.nabble.com/groovy-user-f329450.html</a>&gt; \
at <a href="http://Nabble.com" target="_top" rel="nofollow" \
link="external">Nabble.com</a>. <br>&gt;&gt;
<br>&gt;&gt;
<br>&gt;&gt;
<br>&gt;&gt; ---------------------------------------------------------------------
<br>&gt;&gt; To unsubscribe from this list, please visit:
<br>&gt;&gt;
<br>&gt;&gt; &nbsp; &nbsp; <a href="http://xircles.codehaus.org/manage_email" \
target="_top" rel="nofollow" \
link="external">http://xircles.codehaus.org/manage_email</a><br>&gt;&gt; <br>&gt;&gt;
<br>&gt;
<br>&gt; ---------------------------------------------------------------------
<br>&gt; To unsubscribe from this list, please visit:
<br>&gt;
<br>&gt; &nbsp; &nbsp; &nbsp;<a href="http://xircles.codehaus.org/manage_email" \
target="_top" rel="nofollow" \
link="external">http://xircles.codehaus.org/manage_email</a><br>&gt; <br>&gt;
<br>&gt;
</div></div><br>---------------------------------------------------------------------
<br>To unsubscribe from this list, please visit:
<br><br>&nbsp; &nbsp; <a href="http://xircles.codehaus.org/manage_email" \
target="_top" rel="nofollow" \
link="external">http://xircles.codehaus.org/manage_email</a><br><br><br>

	
	
	
	<br>
	<br>
	<hr noshade="noshade" size="1" color="#cccccc">
	<div style="color:#444; font: 12px tahoma,geneva,helvetica,arial,sans-serif;">
		<div style="font-weight:bold">If you reply to this email, your message will be \
added to the discussion below:</div>  <a \
href="http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715186.html" \
target="_top" rel="nofollow" \
link="external">http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715186.html</a>
  </div>
	<div style="color:#666; font: 11px \
tahoma,geneva,helvetica,arial,sans-serif;margin-top:.4em;line-height:1.5em">  
		To unsubscribe from How to compare two nested maps., <a href="" target="_top" \
rel="nofollow" link="external">click here</a>.<br>  <a \
href="http://groovy.329449.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&a \
mp;id=instant_html%21nabble%3Aemail.naml&amp;base=nabble.naml.namespaces.BasicNamespac \
e-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&amp; \
breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml" \
rel="nofollow" style="font:9px serif" target="_top" link="external">NAML</a>  \
</div></div></blockquote>

	
	
	
<br/><hr align="left" width="300" />
View this message in context: <a \
href="http://groovy.329449.n5.nabble.com/How-to-compare-two-nested-maps-tp5715174p5715190.html">Re: \
How to compare two nested maps.</a><br/> Sent from the <a \
href="http://groovy.329449.n5.nabble.com/groovy-user-f329450.html">groovy - user \
mailing list archive</a> at Nabble.com.<br/>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic