java - 比较两个集合以确定第一个集合是否是其他集合的子集

标签 java android

<分区>

我正在制作一个安卓应用程序来根据规范选择产品并发送带有产品代码的短信。 我有一长串规范不同的产品。 我需要比较大约。 23 种规范可供选择。 我知道我可以使用多个 if 语句或嵌套 ifs,但我想知道是否有更好的方法来实现相同的目的。只有当所有 23 个规范完全相同时,我才能选择产品。 所有规范都存储在 M1 到 M49 等变量中,并映射到产品代码。

SMS 部分已经完成,但我很困惑要比较这么多变量。

非常感谢任何指点。

最佳答案

您可以使用 retainAll JAVA的功能

class Check
{
static String s[] = { "q","w","e","r","t","y","u","i","o","p","a",
               "mmmmm","d","f","g","h","j","k","l","z","x","c","v" };

static String s1[] = {"b","n","m","er","re","ew","j","k","x","qq","ww","ee","c","v","t","y","d","f","g","h",
               "u","rr","yyy","uuu","ttt","trew","rerer","q","w","vv","gg","hh","tt","tr","ww","e","i"
               ,"eww","qwe","wer","o","p","a","s","ds","cv","r","l","z"};

public static void main(String arags[])
{
   Set<String> originalset = new HashSet<String>(Arrays.asList(s1));
   Set<String> testset = new HashSet<String>(Arrays.asList(s));        
   originalset.retainAll(testset);
    if(originalset.size()==23)
    {
        System.out.println("Sucess 23 matches found");
    }
    else
    {
          System.out.println("Fail 23 matches not found");
    }

}
}

关于java - 比较两个集合以确定第一个集合是否是其他集合的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20234765/

相关文章:

java - 当一起处理和声明异常时会发生什么?

java - 为什么我的 Java/Libgdx 9 秒倒计时器不工作?

java - word2vec 中是否有类似单词的波兰语实现?

java - 转换字节值,以便删除/恢复其 MSB

android - 工具栏与布局中的其他小部件重叠

Android:ListView为每一行添加渐变

android - SequenceInputStream 不合并音频文件

java - Java int[] 压缩工具

java - 发送带有参数的解析云代码时出现 IllegalArgumentException

java - 如何在 Android 上使用 PdfDocument 设置 PDF 文件大小