Received: by 10.68.202.68 with SMTP id kg4mr43929pbc.3.1354752312947; Wed, 05 Dec 2012 16:05:12 -0800 (PST) Received: by 10.50.33.137 with SMTP id r9mr1434205igi.8.1354752312907; Wed, 05 Dec 2012 16:05:12 -0800 (PST) Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!kr7no10188121pbb.0!news-out.google.com!s9ni29189pbb.0!nntp.google.com!kr7no10188117pbb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.java.programmer Date: Wed, 5 Dec 2012 16:05:12 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=69.28.149.29; posting-account=CP-lKQoAAAAGtB5diOuGlDQk0jIwmH0T NNTP-Posting-Host: 69.28.149.29 References: <1c2ba883-7e16-4312-90dc-8d87f52bfd05@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <89ea7a9d-58bc-4a98-9f41-085baa50b32d@googlegroups.com> Subject: Re: A HashMap isn't storing all of the entries. From: Lew Injection-Date: Thu, 06 Dec 2012 00:05:12 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: csiph.com comp.lang.java.programmer:20129 Daniele Futtorovic wrote: > Stryder allegedly wrote: >> I'm doing this... >>=20 >> HashMap devObjectMap =3D new HashMap(5); Why do you declare it with an initial capacity of 5? That seems strikingly = pointless. Why do you declare the variable as 'HashMap' rather than 'Map'? >> devObjectMap.put("DataExtension", new String[] {"ADLN_Customer",= "ADLN_Story"}); >> devObjectMap.put("Email", new String[] {"ADLN","DRLN"}); >> devObjectMap.put("EmailSendDefinition", new String[] {"ADLN","AI= LR"}); >> devObjectMap.put("ImportDefinition", new String[] {"ADLN_Custome= r","ADLN_Story","AILR_Customer"}); >> devObjectMap.put("ContentArea", new String[] {"All_Subject_Lines= ","Date_issue"}); >>=20 >> but it's dropping the first entry. Wrong. It's not doing that. You are. > I'll bet 50=EF=BF=BD that it isn't actually dropping it, or that the reas= on for > it lies in code residing outside of the java.* hierarchy. I wouldn't take that bet, because you're almost certainly correct. We won't know exactly where the problem is until the OP deigns to provide a= =20 http://sscce.org/ >> I got it to work by increasing the initial number of entries in the Hash= Map constructor,=20 Wrong again. Also, why 5? What's wrong with 16? By starting the map at 5 buckets and giving it 5 entries, you guaranteed at= least one=20 growth cycle for the map. The load factor by default is 0.75, so you really= should have at least=20 8 buckets for 5 entries. You do realize that 'HashMap' increases size automatically, right, and it d= oesn't drop=20 entries when it does so? Your data loss has nothing to do with the initial = capacity of the=20 map. >> so the question is pretty much academic unless I encounter it again.=20 >> But I'd be interested if anyone knows the answer.=20 PEBKAC. Give us an SSCCE or give up on knowing what you did wrong. By the way, 'devObjectMap' is a very unsatisfactory variable name. --=20 Lew