List与Array转换

来源:互联网 发布:新版淘宝联盟自己买 编辑:程序博客网 时间:2024/06/12 18:58
public static void main(String[] args)    {       String[] arr = {"a","b","c"};      //利用apache 的 ArrayUtils 测试数组中是否存在某一元素       System.out.println(ArrayUtils.contains(arr, "b"));        System.out.println(ArrayUtils.indexOf(arr, "b"));     //利用java api中的Arrays 进行array to list 转换       List<String> javaList = Arrays.asList(arr);        //javaList.add("d");//此处会抛出java.lang.UnsupportedOperationException异常,此方法返回的List不能add,remove对象,因为该方法的实现是使用参数引用的数组的大小来new的一个ArrayList,对返回列表的更改会“直写”到数组,而数组没有add,remove方法。        System.out.println(javaList.size());        //利用apache包的CollectionUtils进行array to list的转换       List<String> apacheList = new ArrayList<String>();       CollectionUtils.addAll(apacheList, arr);       apacheList.add("d"); //数组转Collection(深转换)  CollectionUtils; 将数组完全转换成一个任意类型的Collection        System.out.println(apacheList.size());        //Array转换为List一种方式        String[] l = new String[javaList.size()];        javaList.toArray(l);        System.out.println(ArrayUtils.toString(l));       //Array转换为List另外一种方式        String[] l2 = (String [])javaList.toArray(new String[0]);        System.out.println(ArrayUtils.toString(l2));  }  

去除List中相同的值,类似sql中的distinct

public static void main(String[] args) {    List list = new ArrayList();    list.add(1);    list.add(2);    list.add(3);    list.add(2);    List list2 = new ArrayList(list);    Set set = new HashSet(list);    list.clear();    list.addAll(set);    for (Object object : list) {     System.out.println(object);    }    for (Object object : list2) {     System.out.println(object);    }   }  

取出两个List的交集,党同伐异。

List list1 = new ArrayList();    list1.add(1);    list1.add(20);    list1.add(37);    for(int i=0;i<list1.size();i++){     System.out.print(list1.get(i)+" ");    }    System.out.println(" ");    List list2 = new ArrayList();    list2.add(70);    list2.add(2);    list2.add(3);    list2.add(70);    list2.add(25);    list2.add(31);    for(int i=0;i<list2.size();i++){     System.out.print(list2.get(i)+" ");    }    System.out.println(" ");    list1.retainAll(list2);    for(int i=0;i<list1.size();i++){     System.out.print(list1.get(i)+" ");    }  
0 0