由于@Yrlec指出set.headSet(元素).size将返回0,尽管集合中没有此元素。所以我们最好检查一下
return set.contains(element)? set.headSet(element).size(): -1;
这是一个测试用例来显示问题:
public static void main(String args[]){
TreeSet set = new TreeSet<>();
set.add(4);
set.add(2);
set.add(3);
set.add(1);
System.out.println(set.headSet(1).size());//0
System.out.println(set.headSet(2).size());//1
System.out.println(set.headSet(3).size());//2
System.out.println(set.headSet(4).size());//3
System.out.println(set.headSet(-1).size());//0!!Caution!,retusn 0 though it does not exits
}