<分区>
我正在制作一个安卓应用程序来根据规范选择产品并发送带有产品代码的短信。 我有一长串规范不同的产品。 我需要比较大约。 23 种规范可供选择。 我知道我可以使用多个 if 语句或嵌套 ifs,但我想知道是否有更好的方法来实现相同的目的。只有当所有 23 个规范完全相同时,我才能选择产品。 所有规范都存储在 M1 到 M49 等变量中,并映射到产品代码。
SMS 部分已经完成,但我很困惑要比较这么多变量。
非常感谢任何指点。
<分区>
我正在制作一个安卓应用程序来根据规范选择产品并发送带有产品代码的短信。 我有一长串规范不同的产品。 我需要比较大约。 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/