List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
String[] strArray = {"1","2"};要求:strArray和list数据值对比较,找出strArray不在list数据中存在的数据

解决方案 »

  1.   


    public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(2);
    list.add(3);
    String[] strArray = {"1","2","6","67"};
    List<String> temp = new ArrayList<String>();
    for (String str : strArray){
    if(list.contains(Integer.parseInt(str)))
    continue;
    else
    temp.add(str);
    }
    if(temp.size()==0){
    System.out.print("没有找到");
    }else{
    for(String sb:temp){
    System.out.println(sb);
    }
    }
    }
      

  2.   

    再来一种:public class Test {
    public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(2); String[] strArray = {"1","2","3"};

    Set<String> temp = new HashSet<String>();
    for(Object obj:list){
    temp.add(String.valueOf(obj));
    } Set<String> set = new HashSet<String>(Arrays.asList(strArray));
    set.removeAll(temp);

    System.out.println(set);
    }
    }
      

  3.   

    fatlism第二种思路和我想的一样,数据量多的时候这种方法不适合使用