我的需求就是“把集合list当作一个圆环,循环依次取里面固定数量的元素”。
没有任何废话,我给chatgpt发的指令如下:
请用java语言帮我实现一个功能,给定一个存放人员姓名的list,再给定一个阈值数值,然后循环32次,每次的循环体里,判断阈值数值是否大于list的size,如果阈值数值大于list的size,就打印出list的所有元素,如果阈值数值小于list的size,则每次打印从前到后的阈值数值的数量的元素,如果到了list的尾部,就再转到list的头部继续适配
chatgpt也是不假思索的给出了答案,这个答案是100分的,他能精准识别人类的自然语言命令:
1 /**
2 * 把集合list当作一个圆环,循环依次取里面固定数量的元素
3 * @param args
4 */
5 public static void main(String[] args) {
6 List<String> names = new ArrayList<>();
7 names.add("Alice");
8 names.add("Bob");
9 names.add("Charlie");
10 names.add("David");
11 names.add("Eve");
12 int threshold = 3;
13
14 for (int i = 1; i <= 32; i++) {
15 if (threshold > names.size()) {
16 System.out.println(names);
17 } else {
18 int endIndex = Math.min(threshold, names.size());
19 List<String> sublist = names.subList(0, endIndex);
20 System.out.println(sublist);
21 names.addAll(names.subList(0, endIndex));
22 names.subList(0, endIndex).clear();
23 }
24 }
25 }