【问题描述】 完善并运行程序,使其能够按照字符串的长度升序排序。 import java.util.Comparator; import java.util.TreeSet; class MyComparator implements Comparator { public int compare(Object obj1, Object obj2) { //在此补充代码 } } public class ComparatorDemo { public static void main(String[] args) { TreeSet ts = new TreeSet(new MyComparator()); ts.add("Jack"); ts.add("Helena"); ts.add("Eve"); System.out.println(ts); } } 【输入形式】 【输出形式】 [Eve, Jack, Helena]
时间: 2024-01-07 17:06:00 浏览: 76
com.orderString
完整代码如下:
```java
import java.util.Comparator;
import java.util.TreeSet;
class MyComparator implements Comparator<String> {
public int compare(String str1, String str2) {
return str1.length() - str2.length();
}
}
public class ComparatorDemo {
public static void main(String[] args) {
TreeSet<String> ts = new TreeSet<>(new MyComparator());
ts.add("Jack");
ts.add("Helena");
ts.add("Eve");
System.out.println(ts);
}
}
```
输出:
```
[Eve, Jack, Helena]
```
解释:
- 在 `MyComparator` 类中,我们重写了 `compare` 方法,比较的是两个字符串的长度差。
- 在 `main` 方法中,我们创建了一个 `TreeSet`,并传入了自定义的比较器 `MyComparator`。
- 当我们向 `TreeSet` 中添加元素时,它会根据指定的比较器进行排序,最终输出排序后的结果。
阅读全文