有一个list,其值是["1","2","2","3","4","5","6","4","4","9","0","3","8","7","10"]
还有一个String[] = {2,4,6,9,8]
要求去除 list 中String[]没有的值!
 得到结果应该是list ["2","2","4","6,","4","4",,"9","8"];
求解……

解决方案 »

  1.   


    String[] strs={"2","4","6","9","8"};
    List<String> list = Arrays.asList(strs);
    List<String> newList =new ArrayList();
    for(String str :list){
    for(String s : strs){
    if(str.equals(s)){
    newList.add(str);
    }
    }
    }
      

  2.   


    public class TestList1 {
    public static void main(String[] args) {
    // 目标字符串初始化
    String[] str1 = { "1", "2", "2", "3", "4", "5", "6", "4", "4", "9",
    "0", "3", "8", "7", "10" };
    List<String> list = new ArrayList<String>(Arrays.asList(str1)); // 包含字符串初始化
    String[] str2 = { "2", "4", "6", "9", "8" };
    List<String> containList = new ArrayList<String>(Arrays.asList(str2)); for (int i = list.size() - 1; i >= 0; i--) {
    if (!containList.contains(list.get(i))) {
    list.remove(i);
    }
    } System.out.println("过滤后:" + list);
    }
    }
      

  3.   

    package In;
    import java.util.ArrayList;public class ListInfo {
       
    public static void main(String[] args) {
    ArrayList arr=new ArrayList();
    String list[] = { "1", "2", "2", "3", "4", "5", "6", "4", "4", "9",
    "0", "3", "8", "7", "10" };
    String list1[]={"2","4","6","9","8"};

    for(int i=0;i<list.length;i++){
    for(int j=0;j<list1.length;j++){
    if(list[i].equals(list1[j])){
    arr.add(list[i]);
    }
    }
    }
    System.out.println(arr.toString()); }
      

  4.   


    //数组
    String [] strings = {"1","2"};
    //原有list
    ArrayList<String> list = new ArrayList();
    //临时存放的list
    ArrayList<String> list1 = new ArrayList<String>(Arrays.asList(strings));
    //遍历数组
    for(String tem : list1){
    if(!list.contains(tem)){
    list.remove(tem);
    }
    }
      

  5.   

    public static ArrayList<String> (ArrayList<String> list1,string[] strs){ArrayList<String> list2 = new ArrayList<String>(Arrays.asList(strs));for(String temp : list2){
        if(!list1.contains(temp)){
            list1.remove(temp);
        }
    }
    return list1;
    }
    你可以将集合 和 字符串数组 放到此方法中 直接调用
      

  6.   

    如果你是要效率的话,可以先快排一下,n+nlgn就可以完成!
      

  7.   

    排完序,相邻元素相同删掉一个,要么就把元素全丢Set里去
      

  8.   

    //原始数组
    String[] sourceList = { "1", "2", "2", "3", "4", "5", "6", "4", "4", "9",
    "0", "3", "8", "7", "10" }; //判断数组
    String[] s = { "2", "4", "6", "9", "8" };
    List judjeList = new ArrayList(Arrays.asList(s)); //结果数组
    List desList = new ArrayList();

    //原始数组-->判断数组-->结果数组
    for (Object obj : sourceList) {
    if (judjeList.contains(obj))
    desList.add(obj);
    }