Java中移除ArrayList内特定顺序连续三元组元素的方法
Java中移除ArrayList指定连续三元组元素的实现方法
要精准移除ArrayList中**连续出现的空字符串、"Line c"、"Line d"**这一三元组,同时避免误删其他位置的类似元素,核心思路是直接检查连续三个元素的匹配性,而非单独删除单个元素。
实现代码
import java.util.ArrayList; import java.util.List; public class RemoveTripleElements { public static void main(String[] args) { List<String> stringList = new ArrayList<>(); // 初始化示例数据 stringList.add("Some text"); stringList.add("Some more text"); stringList.add(""); stringList.add("Line a"); stringList.add("Line b"); stringList.add(""); stringList.add("Line c"); stringList.add("Line d"); // 从后往前遍历,避免删除元素后索引混乱 for (int i = stringList.size() - 1; i >= 2; i--) { // 验证连续三个元素是否匹配目标三元组(空串 → Line c → Line d) boolean isMatch = "".equals(stringList.get(i - 2)) && "Line c".equals(stringList.get(i - 1)) && "Line d".equals(stringList.get(i)); if (isMatch) { // 按从后到前的顺序删除,防止索引移位影响后续操作 stringList.remove(i); stringList.remove(i - 1); stringList.remove(i - 2); } } // 输出处理后的结果 for (String str : stringList) { System.out.println("\"" + str + "\""); } } }
关键说明
- 遍历方向选择:从列表末尾往前遍历,这样删除元素后,前面未遍历的元素索引不会受到影响,避免出现漏检或误删的情况。
- 三元组匹配逻辑:严格校验连续三个元素的顺序(空字符串在前,接着是"Line c",最后是"Line d"),只有完全匹配时才执行删除,确保不会误删其他位置的空行或同名元素。
- 删除顺序:删除时从最后一个元素开始(先删"Line d",再删"Line c",最后删空串),避免因元素移位导致的索引错误。
内容的提问来源于stack exchange,提问作者BrokOlieSoep
相关产品推荐
相关产品推荐

