java如何修改集合
修改集合的常用方法
Java中修改集合(如List、Set、Map)可以通过多种方式实现,具体取决于集合类型和需求。以下是常见操作:
添加元素
List<String> list = new ArrayList<>();
list.add("元素1"); // 添加单个元素
list.addAll(Arrays.asList("元素2", "元素3")); // 添加多个元素
Set<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
删除元素
list.remove(0); // 按索引删除
list.remove("元素1"); // 按对象删除
list.removeIf(e -> e.startsWith("元")); // 条件删除
set.remove(1);
set.removeIf(i -> i > 1);
修改元素(仅List支持)

list.set(0, "新元素"); // 替换指定位置元素
Map的特殊操作
Map<String, Integer> map = new HashMap<>();
map.put("key1", 1); // 添加/更新
map.replace("key1", 100); // 仅当key存在时更新
map.remove("key1"); // 删除
使用Collections工具类
Collections类提供静态方法用于集合操作:

Collections.sort(list); // 排序
Collections.reverse(list); // 反转
Collections.swap(list, 0, 1); // 交换元素
Collections.replaceAll(list, "旧值", "新值");
不可变集合的修改
Java 9+创建不可变集合后无法直接修改,但可通过复制创建新集合:
List<String> immutable = List.of("A", "B");
List<String> newList = new ArrayList<>(immutable);
newList.add("C");
流式处理(Java 8+)
通过Stream API可以更灵活地修改集合:
List<String> filtered = list.stream()
.filter(s -> s.length() > 2)
.map(String::toUpperCase)
.collect(Collectors.toList());
并发安全修改
对于多线程环境,需要使用并发集合:
List<String> syncList = Collections.synchronizedList(new ArrayList<>());
CopyOnWriteArrayList<String> cowList = new CopyOnWriteArrayList<>();






