for-each循环如果不是"[]"的数组类型,则需要提前判断数据结构是否为空,否则有可能会有空指针异常。
for(List<String> now_result:result)
{
List<String> sublist = now_result.subList(1,now_result.size());
Collections.sort(sublist);
}
sublist是指针,没有新创建对象,所以只排序sublist就可以实现对于[1,end]的排序。
next() - 返回迭代器的下一个元素,并将迭代器的指针移到下一个位置。
hasNext() - 用于判断集合中是否还有下一个元素可以访问。
remove() - 从集合中删除迭代器最后访问的元素(可选操作)。
// 引入 ArrayList 和 Iterator 类
import java.util.ArrayList;
import java.util.Iterator;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(12);
numbers.add(8);
numbers.add(2);
numbers.add(23);
Iterator<Integer> it = numbers.iterator();
while(it.hasNext()) {
Integer i = it.next();
if(i < 10) {
it.remove(); // 删除小于 10 的元素
}
}
System.out.println(numbers);
}
}
输出如果是字符串类型 需要谨慎复杂度
例题
美团2024届秋招笔试第一场编程真题 第五题
输入n
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
private static final Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
question05();
}
private static void question05() {
int left = 1, right = sc.nextInt();
StringBuilder sb = new StringBuilder();
while (left < right) {
sb.append(left++).append(" ").append(right--).append(" ");
}
if (left == right) {
sb.append(left);
}
System.out.println(sb);
}
}