import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class TestJavaSort {
/**
* @param args
* TreeSet通过比较hashcode的值来排序.String的hashcode的值是将String拆成n个Character
* 然后用这个公式:s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]来算hashcode的值.
* 而每个Character的hashcode的值,就是Character转换成int得到的值.这个int就UTF-8编码
* 中的字符对应的int值("众":20247)
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] s={"中","文","排","序"};
Set<String> set=new TreeSet<String>();
for (int i = 0; i < s.length; i++) {
set.add(s[i]);
//打印出字符在UTF-8中对应的int
System.out.println((int)s[i].charAt(0));
}
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
String string = (String) iterator.next();
//打印顺序
System.out.print(string+" : ");
//打印该字符对应的hashcode值
System.out.println(string.hashCode());
}
}
}
java.util.Set 排序
最新推荐文章于 2024-08-01 10:33:57 发布