下面是一个示例代码,展示了如何按字母表对具有层次结构的对象列表进行Java排序:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Node {
private String name;
public Node(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class NodeComparator implements Comparator {
@Override
public int compare(Node o1, Node o2) {
return o1.getName().compareTo(o2.getName());
}
}
public class Main {
public static void main(String[] args) {
List nodeList = new ArrayList<>();
nodeList.add(new Node("C"));
nodeList.add(new Node("A"));
nodeList.add(new Node("B"));
Collections.sort(nodeList, new NodeComparator());
for (Node node : nodeList) {
System.out.println(node.getName());
}
}
}
在这个示例中,我们创建了一个Node
类来代表具有层次结构的对象。Node
类有一个name
属性,用于存储对象的名称。然后,我们创建了一个NodeComparator
类来实现Comparator
接口,用于比较两个Node
对象的名称。compare
方法使用compareTo
方法来进行字母表排序。
在main
方法中,我们创建了一个nodeList
列表,并向其中添加了三个Node
对象。然后,我们使用Collections.sort
方法对列表进行排序,并传入NodeComparator
对象作为比较器。最后,我们使用循环打印排序后的列表中每个Node
对象的名称。
运行该代码将输出:
A
B
C
说明列表中的Node
对象按字母表进行了排序。
上一篇:按字母表递增顺序查找正确的单词
下一篇:按字母表顺序分组