2011-02-03 12 views
7

का उपयोग कर स्ट्रिंग सूची का लेक्सिकोोग्राफ़िकल ऑर्डरिंग guava का उपयोग करके स्ट्रिंग सूची के lexicographical ordering करने का सरल तरीका क्या है।अमरूद

List<String> s = newArrayList(
    "susen", "soumen", "dipak", "abhi", "zylo", 
    "zala", "gautam", "gautom", "shaswasti", "saswati"); 
List<char[]> ts = newArrayList(transform(s, new Function<String, char[]>() { 
    @Override 
     public char[] apply(String input) { 
      return input.toCharArray(); 
     } 
    })); 
Collections.sort(ts, Chars.lexicographicalComparator()); 
s = transform(ts, new Function<char[], String>() { 
    @Override 
    public String apply(char[] input) { 
     return String.valueOf(input); 
    } 
}); 
System.out.println(s); 
+2

यह अधिक है। Java.util पैकेज –

+0

हाँ में संग्रह .sort का उपयोग करें! बहुत ही सही – gautamr

उत्तर

7

स्ट्रिंग तुलनीय लागू करता है, और इसके प्राकृतिक व्यवस्था lexicographical क्रम है: मैं इसे इस तरह से करते हैं।

List<String> s = ... 
Collections.sort(s); 
1

बस रखो (String औजार Comparable के बाद से) है Ordering

Ordering.natural().sortedCopy(yourInputThatIsIterableAndHasStrings); 

या:

Ordering.usingToString().sortedCopy(yourInputThatIsIterableThatYouWantToSortBasedOnToString); 

आप जगह में सॉर्ट करने के लिए चाहते हैं, तो आप सिर्फ Collections.sort(...) उपयोग करना चाहिए।

उम्मीद है कि इससे मदद मिलती है।

8

आप जगह में तरह नहीं करना चाहते हैं, और आप अमरूद का उपयोग करना चाहते हैं, तो बाहर की जाँच: आपको बस इतना करना है

Collections.sort(s); 
+0

'इमटेबल लिस्ट' प्राप्त करने के लिए 'अपरिवर्तनीय सॉर्टेड' भी है। – Tom

संबंधित मुद्दे