注意你是存放在字符串数组中的也就是说每个元素都是一个字符串
例如:"18" "2" 按字符串的自然顺序比较那就是 '1'的ASCII码<'2' 那么"18"<"2"
如果想要按照整数的自然顺序,那么我们利用Integer:
修改下你的代码:
- import java.util.*;
- class IntSort{
- public static void main(String[] args){
- String str = "90 -7 0 18 2 45 4";
- String[] arr = str.split(" ");
- TreeSet<Integer> ts = new TreeSet<Integer>();
- for (int j = 0; j < arr.length; j++) {
- ts.add(Integer.parseInt(arr[j]));//转换成整数->装箱存入
- }
- Iterator<Integer> it = ts.iterator();
- while(it.hasNext())
- {
- Integer str1 = it.next();
- }
- System.out.println(ts);
- }
- }
复制代码 |