可以通过两种方式对对象集合进行排序:
null
阅读更多关于Comparable和Comparator的信息 对于分类收集,我们可以使用以下收集:
- 有序树
- 树图
如果是字符串,排序将按自然顺序自动完成。
JAVA
// Java program to sort String objects using TreeSet import java.util.Set; import java.util.TreeSet; public class Test { public static void main(String[] args) { Set<String> str = new TreeSet<String>(); str.add( "Sohan" ); str.add( "Raja" ); str.add( "Harish" ); str.add( "Ram" ); System.out.println(str); } } |
输出:
[Harish, Raja, Ram, Sohan]
JAVA
// Java program to demonstrate that simple sorting // StringBuffer objects does work. import java.util.Set; import java.util.TreeSet; public class Test { public static void main(String[] args) { Set<StringBuffer> str = new TreeSet<>(); str.add( new StringBuffer( "Sohan" )); str.add( new StringBuffer( "Raja" )); str.add( new StringBuffer( "Harish" )); str.add( new StringBuffer( "Ram" )); System.out.println(str); } } |
输出
[Harish, Raja, Ram, Sohan]
String类实现可比较的接口,而StringBuffer和StringBuilder类不实现可比较的接口。请参见以下字符串、StringBuffer和StringBuilder类的签名:
JAVA
public final class String extends Object implements Serializable, Comparable, CharSequence |
JAVA
public final class StringBuffer extends Object implements Serializable, CharSequence |
JAVA
public final class StringBuilder extends Object implements Serializable, CharSequence |
排序StringBuffer和StringBuilder类的方法有很多。以下给出了一些方法:
- 通过实现比较器接口
- 通过使用StringBuffer将StringBuffer转换为字符串。toString()方法
JAVA
// Java program to demonstrate sorting // of StringBuffer objects using Comparator // interface. import java.util.Comparator; import java.util.Set; import java.util.TreeSet; public class Test implements Comparator<StringBuffer> { @Override public int compare(StringBuffer s1, StringBuffer s2) { return s1.toString().compareTo(s2.toString()); } public static void main(String[] args) { Set<StringBuffer> str = new TreeSet<>( new Test()); str.add( new StringBuffer( "Sohan" )); str.add( new StringBuffer( "Raja" )); str.add( new StringBuffer( "Harish" )); str.add( new StringBuffer( "Ram" )); System.out.println(str); } } |
输出:
[Harish, Raja, Ram, Sohan]
本文由 萨吉德·阿里·汗和苏米亚兰詹·熊猫的即兴创作 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END