List集合的特点是有序、有下标,可重复的
问题场景:从数据库查询多条数据放到List集合中,但突然想把集合中某一条数据向上移动,放到某一条数据后边,此时你又不能改变从数据库中查询结果的顺序,所以只能对集合进行处理。
方法一:
使用 Collections的swap方法。
Collections.swap(list,a,b);
list是你需要换位置的List。
a是你当前需要换位置的元素的索引。
b是你需要将这个元素换到哪个位置的索引。
方法二:
list.add(a, list.remove(b));
list是你需要换位置的List。
a是你当前需要换位置的元素的索引。
b是你需要将这个元素换到哪个位置的索引。
举例说明:
public static void main(String[] args) {
// 创建集合对象
List list = new ArrayList();
// 添加元素
list.add("苹果");
list.add("小米");
list.add("华为");
list.add("荣耀");
System.out.println("改变之前的顺序:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 方法一
System.out.println("方法一:现在将荣耀放到小米上边。");
Collections.swap(list,3,1);
System.out.println("方法一改变之后的顺序:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//测试方法一的时候注释方法二
// 方法二
// System.out.println("方法二:现在将荣耀放到小米上边。");
// list.add(1,list.remove(3));
//
// System.out.println("方法二改变之后的顺序:");
// for (int i = 0; i < list.size(); i++) {
// System.out.println(list.get(i));
// }
}