如何从数组或列表中删除两个元素的序列?

IMBABOT

如何从数组或列表中删除两个连续的元素?

我有一个数组:

new String[]{"FIRST", "SECOND", "SECOND", "THIRD", "FOURTH", "FIRST", "FOURTH"})

我应该从此数组中删除两个连续的元素。

要删除的元素:“ FIRST”,“ SECOND”

删除元素后,新数组或列表应如下所示:

new String[]{"SECOND",  "FIRST", "FOURTH", "FIRST", "FOURTH"})

现在我得到:“第二”,“第一”

结果: new String[]{"FOURTH", "FIRST", "FOURTH"})

这是我的代码:

  String[] s1 = new String[arr.length];

    String n = "FIRST";
    String s = "SECOND";
    String w = "THIRD";
    String e = "FOURTH";


//I found two successive elements, and element next to them 
//My question is, how can I remove these element from list, 
or copy array without these elements to a new array?

   for (int i = 0; i <arr.length ; i++) {
        if (arr[i].equals(n) && arr[i + 1].equals(s)){
            System.out.println(arr[i + 2]);
        }
    }

如何从数组或列表中删除两个连续的元素?

一个人船员
public static void main(String[] args) {
        String[] arr = new String[]{"FIRST", "SECOND", "SECOND", "THIRD", "FOURTH", "FIRST", "FOURTH"};
        String[] toRemove = new String[]{"FIRST","SECOND"};
        arr=removeSuccessive(arr,toRemove);
        System.out.println(Arrays.toString(arr));
    }

    private static String[] removeSuccessive(String[] arr, String[] toRemove) {
        ArrayList<String> res=new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            if(!arr[i].equals(toRemove[0]))
                    res.add(arr[i]);
            else if(i+1<arr.length && !arr[i+1].equals(toRemove[1]))
                    res.add(arr[i]);
            else
                i++;
        }

        return res.toArray(new String[res.size()]);
    }

您可以在此处检查并运行此代码:https : //ideone.com/v6nPRf

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从两个嵌套列表的数组中删除 n 个元素而不丢失数组?

如何从两个列表中删除重复的元素(成对)?

从序言中的两个列表中删除连续序列

Kotlin - 数组列表 - 如果少于两个,如何删除 T 类型的所有元素

从Lisp中的列表中删除最后两个元素

从 sympy 中的两个列表中删除相等元素对

Elixir从两个列表中删除常见元素

Python remove 方法从两个列表中删除元素

从两个Numpy数组中删除匹配元素

从两个numpy数组中删除重复的元素

如何在Scala中获取数组列表中两个元素的和

根据数组列表中的两个参数删除对象

删除两个列表之间的公共元素并打印两个数组

如何从列表中删除两个元素而没有循环?

如何比较java中的两个数组并返回不包含在两个列表中的元素

如何查找和删除在两个不同数组中匹配的元素?Javascript

如何从数组中的列表创建两个列表?

Javascript函数根据两个条件/两个属性从数组中删除特定元素

如何比较Python的两个列表列表并通过列表中的单个元素删除重复项

如何匹配Scala中两个列表中的元素?

如何从两个数组列表中删除公用值

如果两个元素相同,如何替换列表中的两个元素(Python)

从列表列表的最后两个列表中删除最后一个元素

如何从JSONArray中删除两个相同的元素?

比较两个列表的元素并删除列表的特定元素

从另一个列表中的两个列表中删除元素

如何找到列表中两个元素的最大积?

如何在Python中串联两个元素列表?

如何返回两个列表中相同元素的计数?