Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #14391

Re: How associate two HashMaps

From "javax.swing.JSnarker" <gharriman@boojum.mit.edu>
Newsgroups comp.lang.java.programmer
Subject Re: How associate two HashMaps
Date 2012-05-08 04:30 -0400
Organization media lab?
Message-ID <joalio$buo$1@speranza.aioe.org> (permalink)
References <2d99b203-7059-4ca9-9632-379cd0ae8c85@ee2g2000vbb.googlegroups.com> <Maps-20120508062125@ram.dialup.fu-berlin.de>

Show all headers | View raw


On 08/05/2012 12:24 AM, Stefan Ram wrote:
> Ricardo Nuno<9724@bigfoot.com>  writes:
>> What do I need to associate a value, from one hashMap to a key from a
>> new HashMap
>
>    It is hard to parse this sentence with the comma.
>
>    »To associate a value to a key« is a little bit vague.

My guess is that he wants a bidirectional map. For that you'd need a 
custom class delegating to two internal HashMap instances. Something like

public class BidiMap<K,V> extends AbstractMap<K,V> {
     private Map<K,V> map1, map2;
     private BidiMap<V,K> reversed;

     public BidiMap () {
         map1 = new HashMap<K,V>();
         map2 = new HashMap<K,V>();
         reversed = new BidiMap<K,V>(map2, map1, this);
     }

     private BidiMap (Map<K,V> map1, Map<K,V> map2, BidiMap<V,K> reversed) {
         this.map1 = map1; this.map2 = map2; this.reversed = reversed;
     }

     private BidiMap<V,K> getReversedMap () {
         return reversed;
     }

     /* Map methods go here. View methods delegate to map1. Modifying
        methods operate on both maps, but reverse key and value when
        modifying map2. Also, if a value is already in map2, looks
        it up in map2 to find the corresponding key and removes
        that key from map1 before adding the new mappings to both maps.
     */
}

Changes to the reversed map will be reflected in the original and vice 
versa.

-- 
public final class JSnarker
extends JComponent
A JSnarker is an NNTP-aware component that asynchronously provides 
snarky output when the Ego.needsPuncturing() event is fired in cljp.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

How associate two HashMaps Ricardo Nuno <9724@bigfoot.com> - 2012-05-07 21:07 -0700
  Re: How associate two HashMaps "javax.swing.JSnarker" <gharriman@boojum.mit.edu> - 2012-05-08 04:30 -0400
    Re: How associate two HashMaps Lew <lewbloch@gmail.com> - 2012-05-08 09:27 -0700
  Re: How associate two HashMaps Roedy Green <see_website@mindprod.com.invalid> - 2012-05-08 03:26 -0700

csiph-web