Collections 是一个操作 Collection(Set、 List )和 Map 等集合的工具类。
排序操作:
查找和替换:
代码实例:
@Test
public void test3() {
// 测试reverse方法
List list = new ArrayList();
list.add(2121);
list.add(-1);
list.add(21);
list.add(0);
list.add(45);
//反转
Collections.reverse(list);
System.out.println(list);//[45, 0, 21, -1, 2121]
}
@Test
public void test2() {
// 测试sort方法
List list = new ArrayList();
list.add(2121);
list.add(-1);
list.add(21);
list.add(0);
list.add(45);
//按升序排序
Collections.sort(list);
System.out.println(list);//[-1, 0, 21, 45, 2121]
}
通过实现Comprable的compareTo方法进行排序
// 实现Comparable接口
class User implements Comparable<User> {
private String name;
private Integer age;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public int compareTo(User o) {
//首先比较年龄,如果年龄相同,则比较名字
int flag = this.getAge().compareTo(o.getAge());
if (flag == 0) {
return this.getName().compareTo(o.getName());
} else {
return flag;
}
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
List dest = Arrays.asList(new Object[list.size()]);
@Test
public void testCopy(){
List list = new ArrayList();
list.add(2121);
list.add(-1);
list.add(21);
list.add(0);
list.add(45);
//错误写法:此时dest集合为长度为0,报错IndexOutOfBoundsException: Source does not fit in dest
// List dest = new ArrayList();
// Collections.copy(dest,list);
// System.out.println(dest.size());
// System.out.println(dest);
// 正确写法:先造一个值为null,长度为list长度的集合。再拷贝
List dest = Arrays.asList(new Object[list.size()]);
System.out.println(dest.size()); // 5
Collections.copy(dest,list);
System.out.println(dest);
}
上面的代码实例需要我们去理解代码的含义,才能知道这些Collections工具类中的方法的实现,如果不是很容易理解的小伙伴可以观看动力节点在线的免费视频课程,跟着老师的讲解走,我们理解起来也相对容易一些。
提枪策马乘胜追击04-21 20:01
代码小兵92504-17 16:07
代码小兵98804-25 13:57
杨晶珍05-11 14:54