List<String> A;
A里面有"a","b","c" 3个元素
List<String> B;
B里面有"a" 1个元素除了用迭代的方法外,有没有简单的方法可以得出A是否含有B中的元素,
我试了下A.contains(B)和A.containALL(B),好像都不行

解决方案 »

  1.   

     boolean contains(Object o) 
              如果列表包含指定的元素,则返回 true。 
     boolean containsAll(Collection<?> c) 
              如果列表包含指定 collection 的所有元素,则返回 true。 A.containALL(B) A包含B中所有元素返回true
    这个应该好使啊
      

  2.   


    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));
    }
      

  3.   

    楼主,是不是只要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)));
      

  4.   

    用求交集的方法也可以 我记得好像是retainAll()  不知道写对没
      

  5.   

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

  6.   

    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));
    你是不是这样了?
      

  7.   


    boolean contains(Object o) 如果列表包含指定的元素,则返回 true。 containsAll(Collection<?> c)如果列表包含指定 collection 的所有元素,则返回 true。 
    一个是包含对象,一个是包含容器
    第一个应该这样:A.contains("a")
    另一个是:A.containsAll(B)
      

  8.   


    containsAll(Collection <?> c)如果列表包含指定 collection 的所有元素,则返回 true。
    这个是被包含的类是包含类的子类,这样才是正确的
      

  9.   

    //求两个集合的交集
    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;
    }