Java中字符串和StringBuffer的排序集合

可以通过两种方式对对象集合进行排序:

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
喜欢就支持一下吧
点赞5 分享