gau*_*amr 7 java collections guava
使用番石榴对字符串列表进行词典排序的简单方法是什么?我是这样做的:
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);
Run Code Online (Sandbox Code Playgroud)
如果您不想排序,并且想要使用番石榴,请查看Ordering
.
Ordering.natural().sortedCopy(yourInputThatIsIterableAndHasStrings);
Run Code Online (Sandbox Code Playgroud)
要么:
Ordering.usingToString().sortedCopy(yourInputThatIsIterableThatYouWantToSortBasedOnToString);
Run Code Online (Sandbox Code Playgroud)
如果你想在适当的位置排序,那么你应该使用Collections.sort(...)
.
希望这可以帮助.
String实现Comparable,它的自然顺序是字典顺序.你所要做的就是
Collections.sort(s);
Run Code Online (Sandbox Code Playgroud)