You can't do a HashMap with a byte[] as the Key, unfortunately. You'll have to use a TreeMap (where you can specify a comparator), use a wrapping class, or you could even make it a HashSet or TreeSet with RegionLoad as the only type (and then write a comparator for RegionLoad which compares the regions).
> -----Original Message----- > From: Ted Yu [mailto:yuzhih...@gmail.com] > Sent: Monday, March 14, 2011 6:20 PM > To: dev@hbase.apache.org > Subject: Re: retrieving HRegion's in AssignmentManager > > Correction: > private Map<byte[], RegionLoad> regionLoad = new HashMap<byte[], > RegionLoad>(); > > > On Mon, Mar 14, 2011 at 4:01 PM, Ted Yu <yuzhih...@gmail.com> wrote: > > > Since region name is the only key I can find in RegionLoad, I plan to > > make the following change: > > private Map<String, RegionLoad> regionLoad = new HashMap<String, > > RegionLoad>(); > > > > Thanks St.Ack. > > > > > > On Mon, Mar 14, 2011 at 3:48 PM, Stack <st...@duboce.net> wrote: > > > >> On Mon, Mar 14, 2011 at 3:15 PM, Ted Yu <yuzhih...@gmail.com> wrote: > >> > The navigation is not straightfoward. > >> > In HServerLoad: > >> > private ArrayList<RegionLoad> regionLoad = new > >> > ArrayList<RegionLoad>(); Given region name, there is no quick way > >> > of locating request count for > >> the > >> > region without changing data structure for regionLoad. > >> > > >> > >> OK. > >> > >> Then it looks like you need to change the HSL internals IFF you need > >> to access by region name. > >> > >> Good on you Ted, > >> St.Ack > >> > > > >