Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Stanimir Stamenkov Newsgroups: comp.lang.java.programmer Subject: Re: remove duplicates? Date: Mon, 05 Sep 2011 12:36:17 +0300 Organization: A noiseless patient Spider Lines: 28 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 5 Sep 2011 09:36:09 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="R6EdBNp5N5NfsbZn1ifSpQ"; logging-data="23632"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19C4jkwI4lh9DvgY4v6rtIn" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.1) Gecko/20110830 SeaMonkey/2.3.1 In-Reply-To: X-Face: )>>ChyF_H Let's say you have a Vector of String objects. What is the easiest > way to remove duplicates? Here what I immediately think of: List list; ... Set set = new HashSet(); for (Iterator iter = list.iterator(); iter.hasNext(); ) { String str = iter.next(); if (!set.add(str)) { iter.remove(); } } If you want to leave the last occurrences of the String elements you would just iterate the list backwards: for (ListIterator iter = list.listIterator(list.size()); iter.hasPrevious(); ) { String str = iter.previous(); ... -- Stanimir