List与Array转换

た 入场券 2022-07-16 08:10 216阅读 0赞
  1. public static void main(String[] args)
  2. {
  3. String[] arr = {
  4. "a","b","c"};
  5. //利用apache 的 ArrayUtils 测试数组中是否存在某一元素
  6. System.out.println(ArrayUtils.contains(arr, "b"));
  7. System.out.println(ArrayUtils.indexOf(arr, "b"));
  8. //利用java api中的Arrays 进行array to list 转换
  9. List<String> javaList = Arrays.asList(arr);
  10. //javaList.add("d");//此处会抛出java.lang.UnsupportedOperationException异常,此方法返回的List不能add,remove对象,因为该方法的实现是使用参数引用的数组的大小来new的一个ArrayList,对返回列表的更改会“直写”到数组,而数组没有add,remove方法。
  11. System.out.println(javaList.size());
  12. //利用apache包的CollectionUtils进行array to list的转换
  13. List<String> apacheList = new ArrayList<String>();
  14. CollectionUtils.addAll(apacheList, arr);
  15. apacheList.add("d"); //数组转Collection(深转换) CollectionUtils; 将数组完全转换成一个任意类型的Collection
  16. System.out.println(apacheList.size());
  17. //Array转换为List一种方式
  18. String[] l = new String[javaList.size()];
  19. javaList.toArray(l);
  20. System.out.println(ArrayUtils.toString(l));
  21. //Array转换为List另外一种方式
  22. String[] l2 = (String [])javaList.toArray(new String[0]);
  23. System.out.println(ArrayUtils.toString(l2));
  24. }

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

  1. public static void main(String[] args) {
  2. List list = new ArrayList();
  3. list.add(1);
  4. list.add(2);
  5. list.add(3);
  6. list.add(2);
  7. List list2 = new ArrayList(list);
  8. Set set = new HashSet(list);
  9. list.clear();
  10. list.addAll(set);
  11. for (Object object : list) {
  12. System.out.println(object);
  13. }
  14. for (Object object : list2) {
  15. System.out.println(object);
  16. }
  17. }

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

  1. List list1 = new ArrayList();
  2. list1.add(1);
  3. list1.add(20);
  4. list1.add(37);
  5. for(int i=0;i<list1.size();i++){
  6. System.out.print(list1.get(i)+" ");
  7. }
  8. System.out.println(" ");
  9. List list2 = new ArrayList();
  10. list2.add(70);
  11. list2.add(2);
  12. list2.add(3);
  13. list2.add(70);
  14. list2.add(25);
  15. list2.add(31);
  16. for(int i=0;i<list2.size();i++){
  17. System.out.print(list2.get(i)+" ");
  18. }
  19. System.out.println(" ");
  20. list1.retainAll(list2);
  21. for(int i=0;i<list1.size();i++){
  22. System.out.print(list1.get(i)+" ");
  23. }

发表评论

表情:
评论列表 (有 0 条评论,216人围观)

还没有评论,来说两句吧...

相关阅读