问题描述
最近由于期末考试结束,时间也相对比较轻松,所以最近去看了一下牛客网上面的一些题,偶尔做了一些练习题,对之前的知识点有一个复习。发现自己对很多知识点的理解还是很欠缺的,对很多的知识点理解不透彻。
下面先来简单的看一下题目:
如果一个list初始化为{5, 3, 1},执行一下代码后,其结果为()
nums.add(6);
nums.add(0, 4);
nums.remove(1);
A.[5, 3, 1, 6]
B.[4, 3, 1, 6]
C.[4, 3, 6]
D.[5, 3, 6]
解决方案
当看到这个题的时候我的思路是,在原始数据的末尾添加一个6,在0的位置添加一个4,然后再移除一个1,然后就毫不犹豫的选择了C,但提示我的选项是错误的,正确答案是B,我仔细看一遍题后发现思路是错误的。
正确的思路应该是在原始数据的末尾添加一个6,然后再0的位置添加一个4,最好将1位置的数移除,所以应该是将5移除,所以正确答案是B。
package cow;
import java.util.ArrayList; import java.util.Arrays; import java.util.List;
/** * @author guijun * @version 1.0 * @date 2020/7/10 15:04 */ public class Tset { public static void main(String[] args) { test01(); }
static void test01() { List<Integer> nums = new ArrayList<>(Arrays.asList(5, 3, 1)); System.out.println("输出原始数据:"); nums.forEach(System.out::println); nums.add(6); nums.add(0, 4); nums.remove(1); System.out.println("输出修改后的数据:"); nums.forEach(System.out::println); } } |
所以最后输出的结果为:
结语
在list移除元素的时候要注意是用对象来移除元素还是利用索引来移除元素的,在这里就是利用索引来移除元素的。
END