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


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

Re: verbose sort

From Eric Sosman <esosman@ieee-dot-org.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: verbose sort
Date 2012-08-02 12:28 -0400
Organization A noiseless patient Spider
Message-ID <jve9sd$o2p$1@dont-email.me> (permalink)
References <ad14b658-e1c5-483a-a447-802725d731ff@googlegroups.com>

Show all headers | View raw


On 8/2/2012 11:37 AM, bob smith wrote:
> I have some code that sorts a list like so:
>
> Vector<String> my_list = new Vector<String>();
>
>
> 		Comparator<String> c = new Comparator<String>() {
> 			@Override
> 			public int compare(String object1, String object2) {
> 				if (object1 == null)
> 					return -1;
> 				if (object2 == null)
> 					return 1;
> 				object1 = object1.toLowerCase();
> 				object2 = object2.toLowerCase();
> 				return object1.compareTo(object2);
> 			};
> 		};
>
> Collections.sort(my_list, c);
>
>
> This seems like a lot of code for such a common operation.  Is there a more succinct way of doing this?

     Consider using compareToIgnoreCase().  Also, think about what
happens when two null's are compared: You should return zero rather
than declaring one of them "less than" the other, because otherwise
your comparator is inconsistent (you can have A<B, B<C, but C<A).

	public int compare(String s1, String s2) {
	    if (s1 == null)
	        return s2 == null ? 0 : -1;
	    return s2 == null ? +1 : s1.compareToIgnoreCase(s2);
	}

-- 
Eric Sosman
esosman@ieee-dot-org.invalid

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


Thread

verbose sort bob smith <bob@coolfone.comze.com> - 2012-08-02 08:37 -0700
  Re: verbose sort Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-02 12:28 -0400
  Re: verbose sort markspace <-@.> - 2012-08-02 10:19 -0700
    Re: verbose sort Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-02 13:59 -0400
      Re: verbose sort markspace <-@.> - 2012-08-02 11:14 -0700
        Re: verbose sort Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-08-02 13:38 -0700
    Re: verbose sort bob smith <bob@coolfone.comze.com> - 2012-08-02 15:19 -0700
  Re: verbose sort Lew <lewbloch@gmail.com> - 2012-08-02 14:15 -0700
  Re: verbose sort Roedy Green <see_website@mindprod.com.invalid> - 2012-08-03 01:37 -0700

csiph-web