Java。如何从两个字符串数组或列表中删除相同的字符串对象

埃尔达·内扎梅第诺夫(Eldar Nezametdinov)

这是我的第一个问题,它是关于Java的。我想实现以下逻辑:

我有两个字符串数组(或字符串字符串列表)。有一个字符串数组(asu)-M1,M2,M3 ...,以及一个字符串数组(rzs)-M1,M2,M3及其所有可能的组合。需要每个元素(asu)(例如M1)在(rzs)(M1,M1M2,..)中查找包含(例如M1)的元素。示例:从(asu)取得M1,然后将开始在(rzs)中搜索重复项(包含)。我们在(rzs)中找到了M1M2,其中包含M1。之后,我们应该从arrays(lists)中删除这两个元素。我很抱歉我的英语能力^^

String[] asu = { "M1", "M1", "M1", "M3", "M4", "M5", "M1", "M1", "M1", "M4", "M5", "M5" };
String[] rzs = { "M1", "M2", "M3", "M4", "M5", "M1M2", "M1M3", "M1M4", "M1M5", "M2M3", "M2M4", "M2M5", "M3M4", "M3M5", "M4M5", "M1M2M3", "M1M2M4",
        "M1M2M5", "M1M3M4", "M1M3M4", "M1M4M5", "M2M4", "M2M5" };

public static void main(final String[] args) {
    work bebebe = new work();
    bebebe.mywork();
}

public void mywork() {

    System.out.println(Arrays.deepToString(rzs));
    System.out.println(Arrays.deepToString(asu));
    for (int i = 0; i < asu.length; i++) {
        System.out.println("Итерация: " + i);
        for (int j = 0; j < rzs.length; j++) {
            if (asu[i].matches(rzs[j].toString())) {
                System.out.println(i + " элемент (" + asu[i] + ") в ASU равен " + j + " элементу (" + rzs[j] + ") в RZS");
                asu[i] = "";
                rzs[j] = "";
            }
        }
    }
}

结果不会删除属于子字符串的项目。不满足逻辑。我会很感激您的建议。

没有名字的念头

如果您要使用列表,则会有更好的选择:删除操作不会要求您收回其余数组,并且使用列表意味着代码上的逻辑更少

List<string> asu = Arrays.asList("M1","M1","M1","M3","M4","M5","M1","M1","M1","M4","M5","M5");
List<string> rzs = Arrays.asList("M1","M2","M3","M4","M5",
"M1M2","M1M3","M1M4","M1M5","M2M3","M2M4","M2M5","M3M4","M3M5","M4M5"
,"M1M2M3","M1M2M4","M1M2M5","M1M3M4","M1M3M4","M1M4M5","M2M4","M2M5");
public static void main(String[] args) {
work bebebe = new work();
bebebe.mywork();
}

public static void mywork() {
   ArrayList<String> tmp1 = new ArrayList<String>();  
   ArrayList<String> tmp2 = new ArrayList<String>();  
   System.out.println((rzs));
   System.out.println((asu));
   for (String curr : asu){
     for (String currRzs : rzs){
       if (currRzs.contains(curr)) {
          System.out.println(" item("+curr+") in ASU found contained in ("+currRzs+") in RZS");

      if(tmp1.contains(curr) == false)
         tmp1.add(curr);

      if(tmp2.contains(currRzs) == false)
         tmp2.add(currRzs);
       }
      } 
    }

   for (String curr : tmp1){
      asu.remove(curr);
   }

   for (String curr : tmp2){
      rzs.remove(curr);
   }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何比较两个字符串列表以查找相同的字符串

来自分类Dev

Java中两个字符串数组列表的交集

来自分类Dev

使用python从列表中的字符串中删除最后两个字符

来自分类Dev

如何获得两个字符串中相同字符的数量?

来自分类Dev

如何检查,如果两个字符串数组是相同的

来自分类Dev

如何从数组中的日期字符串(MM / dd / yyyy)中删除前两个字符?

来自分类Dev

如何删除两个字符串之间的字符串?

来自分类Dev

如何从两个字符串的对象列表绑定AutoCompleteTextView?

来自分类Dev

如何确定两个字符串在TypeScript中是否相同?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Java中的两个字符之间获取字符串?

来自分类Dev

如何在Java中将字符串中的两个字符居中

来自分类Dev

比较两个字符串数组

来自分类Dev

如何在SQL中删除两个字符串之间的空间

来自分类Dev

使用string.equals比较Java中的两个字符串数组

来自分类Dev

交换数组中的两个字符串,Java

来自分类Dev

使用string.equals比较Java中的两个字符串数组

来自分类Dev

如何从C#中的方法返回两个字符串数组

来自分类Dev

如何检测数组中的两个字符串是否相等

来自分类Dev

如何在列表视图中显示两个字符串数组(不在res中)

来自分类Dev

在PHP中的两个字符串中寻找相同的字符

来自分类Dev

如何比较两个字符串?

来自分类Dev

如何比较两个字符串?

来自分类Dev

两个字符串中的SQL比较字符计数总计相同

来自分类Dev

两个字符串中的SQL比较字符计数总计相同

来自分类Dev

确定列表中的任意两个字符串在功能上是否以相同的字符开头

来自分类Dev

从makefile中的字符串中删除前两个字符?

来自分类Dev

Mapstruct:将对象列表映射为两个字符串/ UUID列表

Related 相关文章

  1. 1

    如何比较两个字符串列表以查找相同的字符串

  2. 2

    Java中两个字符串数组列表的交集

  3. 3

    使用python从列表中的字符串中删除最后两个字符

  4. 4

    如何获得两个字符串中相同字符的数量?

  5. 5

    如何检查,如果两个字符串数组是相同的

  6. 6

    如何从数组中的日期字符串(MM / dd / yyyy)中删除前两个字符?

  7. 7

    如何删除两个字符串之间的字符串?

  8. 8

    如何从两个字符串的对象列表绑定AutoCompleteTextView?

  9. 9

    如何确定两个字符串在TypeScript中是否相同?

  10. 10

    如何在Java中的两个字符之间获取字符串?

  11. 11

    如何在Java中的两个字符之间获取字符串?

  12. 12

    如何在Java中的两个字符之间获取字符串?

  13. 13

    如何在Java中将字符串中的两个字符居中

  14. 14

    比较两个字符串数组

  15. 15

    如何在SQL中删除两个字符串之间的空间

  16. 16

    使用string.equals比较Java中的两个字符串数组

  17. 17

    交换数组中的两个字符串,Java

  18. 18

    使用string.equals比较Java中的两个字符串数组

  19. 19

    如何从C#中的方法返回两个字符串数组

  20. 20

    如何检测数组中的两个字符串是否相等

  21. 21

    如何在列表视图中显示两个字符串数组(不在res中)

  22. 22

    在PHP中的两个字符串中寻找相同的字符

  23. 23

    如何比较两个字符串?

  24. 24

    如何比较两个字符串?

  25. 25

    两个字符串中的SQL比较字符计数总计相同

  26. 26

    两个字符串中的SQL比较字符计数总计相同

  27. 27

    确定列表中的任意两个字符串在功能上是否以相同的字符开头

  28. 28

    从makefile中的字符串中删除前两个字符?

  29. 29

    Mapstruct:将对象列表映射为两个字符串/ UUID列表

热门标签

归档