Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #35216
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Date | 2016-08-05 15:38 -0700 |
| References | <21r7qb1srdvnieuufjquie2qrfujso6l7p@4ax.com> <slrnnq7t3d.456.avl@login.logic.tuwien.ac.at> |
| Message-ID | <9fe8ddcc-dfd5-4ac1-8438-6f6779bdae9a@googlegroups.com> (permalink) |
| Subject | Re: DeDup an ArrayList |
| From | Lew <lewbloch@gmail.com> |
Andreas Leitgeb wrote: > Roedy Green wrote: > > This looks like trivial task, but every time I work on it, it keeps > > ballooning in complexity. > > > > I wish to deDup an ArrayList. Any two strings equalIgnoreCase are > > considered dups. One should be removed. The order of the items should > > be otherwise be undisturbed. > > > > Part of the trouble is removing an element from an ArrayList makes you > > lose track of where you are. > > Copy to a LinkedHashMap (using the toUpperCase()'d string as key, and > the original String as value), and finally copy back to a new ArrayList... Two different lower-case strings can upper-case to the same string, and be considered duplicates even though they aren't, in certain languages. For example, "ß" and "ss" in German (traditionally) both upper-case to "SS". > The LinkedHashMap will take care of maintaining the ordering, except > of course, where dups are left out. > > Not sure if hashing on the uppercase version of a String is strictly > equivalent to pairwise equalIgnoreCase, though. Maybe not, maybe close > enough, maybe exactly same... The performance advantage (from n-squared > to roughly n) might be worth a little slack in some corner cases. In Greek, '"ς" and "σ", two versions of the Greek sigma, both capitalise to "Σ". ' http://inform7.com/learn/man/WI_20_4.html -- Lew
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
DeDup an ArrayList Roedy Green <inquiry@mindprod.com> - 2016-08-04 18:35 -0700
Re: DeDup an ArrayList Andreas Leitgeb <avl@logic.at> - 2016-08-05 02:05 +0000
Re: DeDup an ArrayList Arne Vajhøj <arne@vajhoej.dk> - 2016-08-04 22:41 -0400
Re: DeDup an ArrayList Lew <lewbloch@gmail.com> - 2016-08-05 15:38 -0700
Re: DeDup an ArrayList Andreas Leitgeb <avl@logic.at> - 2016-08-06 12:10 +0000
Re: DeDup an ArrayList Roedy Green <inquiry@mindprod.com> - 2016-08-04 19:06 -0700
Re: DeDup an ArrayList Eric Douglas <e.d.programmer@gmail.com> - 2016-08-05 05:16 -0700
Re: DeDup an ArrayList Andreas Leitgeb <avl@logic.at> - 2016-08-05 15:30 +0000
Re: DeDup an ArrayList Eric Douglas <e.d.programmer@gmail.com> - 2016-08-05 10:10 -0700
Re: DeDup an ArrayList Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-08-05 13:51 -0400
Re: DeDup an ArrayList Eric Douglas <e.d.programmer@gmail.com> - 2016-08-05 12:16 -0700
Re: DeDup an ArrayList Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-08-05 15:38 -0400
Re: DeDup an ArrayList Marcel Mueller <news.5.maazl@spamgourmet.org> - 2016-08-06 00:47 +0200
Re: DeDup an ArrayList Arne Vajhøj <arne@vajhoej.dk> - 2016-08-05 09:02 -0400
Re: DeDup an ArrayList Jan Burse <janburse@fastmail.fm> - 2016-08-05 12:52 +0200
Re: DeDup an ArrayList Jan Burse <janburse@fastmail.fm> - 2016-08-05 12:53 +0200
Re: DeDup an ArrayList Jan Burse <janburse@fastmail.fm> - 2016-08-05 13:10 +0200
Re: DeDup an ArrayList Jan Burse <janburse@fastmail.fm> - 2016-08-13 12:26 +0200
Re: DeDup an ArrayList Daniel Pitts <usenet@coloraura.com> - 2016-08-05 08:37 -0700
Re: DeDup an ArrayList Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2016-08-05 08:58 -0700
Re: DeDup an ArrayList Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2016-08-05 09:47 -0700
Re: DeDup an ArrayList Knute Johnson <nospam@rabbitbrush.frazmtn.com> - 2016-08-05 19:56 -0700
Re: DeDup an ArrayList Daniel Pitts <usenet@coloraura.com> - 2016-08-06 09:18 -0700
Re: DeDup an ArrayList Marcel Mueller <news.5.maazl@spamgourmet.org> - 2016-08-06 01:04 +0200
Re: DeDup an ArrayList Roedy Green <inquiry@mindprod.com> - 2016-08-05 16:31 -0700
csiph-web