如何使用java链表中的sort方法
这里举例子一个
首先,我创建了一个Item类,用于创建链表中的元素
这个Item包含两个私有函数,代码如下:
Item类:
package lru;
public class Item {
private int num;
private int count;
public Item() {
}
public Item(int num, int count) {
this.num = num;
this.count = count;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
然后就是创建一个链表,放入Item类型的元素;再以count的值进行排序:
测试类:
package lru;
import java.util.ArrayList;
import java.util.Comparator;
public class T {
public static void main(String[] args) {
ArrayList<Item> memory = new ArrayList<>();
Item item1 = new Item(1,1);
Item item2 = new Item(2,3);
Item item3 = new Item(3,2);
memory.add(item1);
memory.add(item2);
memory.add(item3);
System.out.println("排序前,每个item的位置:");
for (int i = 0; i < memory.size(); i++) {
System.out.println("item"+ (i + 1) + "的位置:" + (memory.get(i).getNum() - 1));
}
System.out.println("=========================");
memory.sort(Comparator.comparing(Item::getCount));
System.out.println("根据count值的大小递增排序后,每个item的位置:");
for (int i = 0; i < memory.size(); i++) {
System.out.println("item"+ (i + 1) + "的位置:" + (memory.get(i).getNum() - 1));
}
}
}
这里的关键代码只有一行,就是sort排序那行,用接口Comparator里的方法,指定根据的变量进行排序;
最后打印的结果为: