addAll();
往集合中添加一些元素
Collections.addAll(str, "a", "b", "c");
shuffle();
随机打乱集合
Collections.shuffle(str);
sort(List<T> list);
将集合中的元素按照默认规则排序(升序)
Collections.sort(str);
对自定义类型排序(除非重写compareTo()方法),否则不能用。
必须实现Compare接口,重写compareTo方法定义排序。
public class Person implements Comparable<Person>{
@Override
public int compareTo(Person o) {
//return 0; //认为元素都是相同的
//自定义规则,比较年龄(this.参数Person)
return this.getAge() - o.getAge(); //升序
return o.getAge() - this.getAge(); //降序
}
}
Comparable接口排序规则:
自己(this) - 参数 :升序
参数 - 自己(this) :降序
sort(List<T> list, Comparator<? super T>);
将集合中元素按照指定规则排序
Comparable和Comparator的区别:
Comparable:自己(this)和别人(参数)比较,自己需要实现Comparable接口,重写compareTo方法。
Comparator:相当于找一个第三方的裁判,比较两个
也需要重写比较方法compare();
Collections.sort(str, new Comparator<Integer>() {
//重写比较的规则
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2; //升序
// return o2 - o1; //降序
}
});
Collections.sort(str, new Comparator<Person>() {
//重写比较的规则
@Override
public int compare(Person o1, Person o2) {
int i = o1.getAge() - o2.getAge();
if (i == 0) {
//如果年龄一致,比较字符串
return o1.getName().charAt(0) - o2.getName().charAt(0);
} else {
return o1.getAge() - o2.getAge();
}
}
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。