您的位置:首页 > 其它

判断一个数组是另一数组的子集

2016-03-02 01:28 239 查看
问:

String[] a={“01”,“03”,“05”}
String[] b={“01”}


如何判定数组b是否属于数组a

答:

String[] a = {
"01", "03", "05", "06"
};
String[] b = {
"01", "03", "05", "05"
};
//生成不变List
List listA = Arrays.asList(a);
List listB = Arrays.asList(b);
System.out.println(listA.containsAll(listB));


注意:

尽量使用java collections的高级API,而避免使用迭代器,原因如下:

1.使用迭代的话每次添加或移除元素后重新调整集合将非常低效。

2.多线程情况下,每次在获取锁、执行操作和释放锁的过程中,都存在潜在的并发困境。

3.当添加或移除元素时,存取集合的其他线程会引起竞争条件。

但是需求有些歧义,子集的定义时否包括重复数据。

比如: a={“01”,”02”,”03”,”04”},b={“01”,”02”,”03”,”03”}

这种情况下,可能出现歧义,如果重复数据不合并来作为子集,那么a不包含b,需要另作处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: