List集合包含元素的问题

a1123454 2009-10-11 08:53:56
List<String> A;
A里面有"a","b","c" 3个元素
List<String> B;
B里面有"a" 1个元素

除了用迭代的方法外,有没有简单的方法可以得出A是否含有B中的元素,
我试了下A.contains(B)和A.containALL(B),好像都不行
...全文
172 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
a1123454 2009-10-21
  • 打赏
  • 举报
回复
//求两个集合的交集
public static List<Long> convert(List<Long> list1, List<Long> list2) {
List<Long> resultList = new ArrayList<Long>();
Iterator<Long> it1 = list1.iterator();
Long str;
while (it1.hasNext()) {
str = it1.next();
if (list2.contains(str)) {
resultList.add(str);
}
}
return resultList;
}
kingboxing088 2009-10-12
  • 打赏
  • 举报
回复
API
steel1985 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 swandragon 的回复:]
boolean contains(Object o)
          如果列表包含指定的元素,则返回 true。
boolean containsAll(Collection <?> c)
          如果列表包含指定 collection 的所有元素,则返回 true。

A.containALL(B) A包含B中所有元素返回true
这个应该好使啊
[/Quote]

好使
coolbamboo2008 2009-10-12
  • 打赏
  • 举报
回复
2楼的没问题呀,不知道楼主关心的是啥问题
东北小妞 2009-10-12
  • 打赏
  • 举报
回复

boolean contains(Object o) 如果列表包含指定的元素,则返回 true。

containsAll(Collection<?> c)如果列表包含指定 collection 的所有元素,则返回 true。


一个是包含对象,一个是包含容器
第一个应该这样:A.contains("a")
另一个是:A.containsAll(B)
jayqean 2009-10-12
  • 打赏
  • 举报
回复
因该可以的
东北小妞 2009-10-12
  • 打赏
  • 举报
回复
public static void main(String[] args) throws Exception{
ArrayList<String> list = new ArrayList<String>();
list.add("abc");
//list.add("b");
//list.add("c");
ArrayList<String> list1 = new ArrayList<String>();
list1.add("a");
list1.add("b");
System.out.println(list.containsAll(list1));
你是不是这样了?
dongmoo 2009-10-12
  • 打赏
  • 举报
回复
学习中
cwjieNo1 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 songkuiyong 的回复:]
boolean contains(Object o) 如果列表包含指定的元素,则返回 true。

containsAll(Collection <?> c)如果列表包含指定 collection 的所有元素,则返回 true。


一个是包含对象,一个是包含容器
第一个应该这样:A.contains("a")
另一个是:A.containsAll(B)
[/Quote]

containsAll(Collection <?> c)如果列表包含指定 collection 的所有元素,则返回 true。
这个是被包含的类是包含类的子类,这样才是正确的
welcome__fei 2009-10-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 java1109 的回复:]
楼主,是不是只要B中有一个元素在A中就返回true?
Java codeboolean flag=true;for(String s : a) {
flag= b.contains(s);if(flag)break;
}
System.out.println(flag);// 如果B只有一个元素// System.out.println(a.contains(b.get(0)));
[/Quote]
感觉这个是楼主的问题
bbb332 2009-10-11
  • 打赏
  • 举报
回复
boolean contains(Object o)
如果列表包含指定的元素,则返回 true。
superliubao 2009-10-11
  • 打赏
  • 举报
回复
dajiadebeibei9 2009-10-11
  • 打赏
  • 举报
回复
用求交集的方法也可以 我记得好像是retainAll() 不知道写对没
pingsheng1986 2009-10-11
  • 打赏
  • 举报
回复
学习中..........
java1109 2009-10-11
  • 打赏
  • 举报
回复
楼主,是不是只要B中有一个元素在A中就返回true?

boolean flag = true;
for(String s : a) {
flag = b.contains(s);
if(flag)
break;
}
System.out.println(flag);

// 如果B只有一个元素
// System.out.println(a.contains(b.get(0)));
amdgaming 2009-10-11
  • 打赏
  • 举报
回复
都让楼上的回答 了。。。呵呵
swandragon 2009-10-11
  • 打赏
  • 举报
回复

public static void main(String[] args) throws Exception{
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
ArrayList<String> list1 = new ArrayList<String>();
list1.add("a");
list1.add("b");
System.out.println(list.containsAll(list1));
}
swandragon 2009-10-11
  • 打赏
  • 举报
回复
boolean contains(Object o)
如果列表包含指定的元素,则返回 true。
boolean containsAll(Collection<?> c)
如果列表包含指定 collection 的所有元素,则返回 true。

A.containALL(B) A包含B中所有元素返回true
这个应该好使啊

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧