题解 | 【模板】序列操作
【模板】序列操作
https://www.nowcoder.com/practice/12da4185c0bb45918cfdc3072e544069
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
/**
1.末尾增加元素 list.add 1<x<10的9次方,此时数据类型考虑Integer
2.删除末尾元素 list.remove,要考虑list为空的问题
3.输出下标为i的元素 list.get
4.在下标为i的元素与下标为i+1的元素之间插入x,list.add(i+1,x)
5.将序列从小到大升序排序 Collections.sort(list)
6.将序列从大到小降序排序 Collections.sort(list,Collections.reverseOrder());
7.输出当前序列长度 list.size()
8.输出当前整个序列 list.forEach(x->System.out.print(x+" "))
*/
List<Integer> list = new ArrayList<>();
// 注意 hasNext 和 hasNextLine 的区别
int q = in.nextInt();
while (q-->0) { // 注意 while 处理多个 case
int a = in.nextInt();
switch(a){
case 1:
list.add(in.nextInt());
break;
case 2:
list.remove(list.size()-1);
break;
case 3:
System.out.println(list.get(in.nextInt()));
break;
case 4:
int i = in.nextInt();
int x = in.nextInt();
list.add(i+1,x);
break;
case 5:
Collections.sort(list);
break;
case 6:
Collections.sort(list,Collections.reverseOrder());
break;
case 7:
System.out.println(list.size());
break;
case 8:
list.forEach(y->System.out.print(y+" "));
System.out.println();
break;
default:
break;
}
}
}
}
