List<String> list = new ArrayList<>(); list.addAll(Arrays.asList("张三","李四","王五","刘备", "张飞","赵云","曹操","孙权","武松","宋江","鲁智深","张三丰","张无忌","张天师")); //TODO 遍历集合,去除集合中所有姓张的
时间: 2023-03-30 18:02:46 浏览: 117
好的,这个问题很简单,可以使用 for 循环遍历集合,判断每个字符串的姓氏是否为张,如果不是则加入一个新的集合中,最后将新的集合赋值给原来的集合即可。代码如下:
List<String> list = new ArrayList<>();
list.addAll(Arrays.asList("张三","李四","王五","刘备",
"张飞","赵云","曹操","孙权","武松","宋江","鲁智深","张三丰","张无忌","张天师"));
List<String> newList = new ArrayList<>();
for (String s : list) {
if (!s.startsWith("张")) {
newList.add(s);
}
}
list = newList;
这样就可以去除集合中所有姓张的字符串了。
相关问题
List<String> list = Arrays.asList(arr);Arrays报错 List<String> list = Arrays.asList(arr); List<String> list = Arrays.asList(arr);
Arrays.asList()方法返回的是一个固定大小的List,不能进行添加或删除操作,只能进行修改操作。如果你想要一个可变的List,可以使用java.util.ArrayList来代替Arrays.asList()方法返回的List。如果你使用Arrays.asList()方法将int[]转成ArrayList,会出现类型不匹配的错误,因为Arrays.asList()方法只能将数组转换为List<Object>类型,而int[]是一个基本数据类型,不是一个对象。如果你想要将int[]转换为List<Integer>类型的ArrayList,可以使用Java 8中的IntStream来实现,例如:
```java
int[] arr = {1, 2, 3};
List<Integer> list = IntStream.of(arr).boxed().collect(Collectors.toList());
```
List<String> list = new ArrayList<String>(Arrays.asList(ss))
这行代码的作用是将字符串数组 `ss` 转换为 `ArrayList` 集合 `list`。具体来说,这行代码的执行过程如下:
1. `Arrays.asList(ss)` 将字符串数组 `ss` 转换为 `List<String>` 类型的集合。
2. `new ArrayList<String>(...)` 利用 `ArrayList` 的构造函数,将 `List<String>` 集合转换为 `ArrayList` 集合。
最终得到的 `list` 集合中包含了 `ss` 数组中的所有元素,并且可以使用 `ArrayList` 提供的方法对集合进行操作。
阅读全文