灌篮少年 发表于 2024-8-30 04:21:29

Java核心API——collection类的常见方法

1、数组与集合之间的转换

* 集合转换为数组
* Collection提供了一个方法toArray。可以将当前集合转换为一个数组       Collection<String> array=new ArrayList<>();
      array.add("1");
      array.add("2");
      array.add("3");
      array.add("4");
      System.out.println(array);
      //      Object[] array = c.toArray();//返回对象数组不方便
      /*
            重载的toArray方法要求我们传入一个需要转换的数组
            长度通常与集合size一致即可。
            如果数组长度小于集合size,那么toArray方法内部会创建
            一个与该数组类型且与集合size等长的数组将其返回
         */
      String[] array1 = array.toArray(new String);
//      String[] array = c.toArray(new String);
      System.out.println(Arrays.toString(array1));

      for(String s:array){
            System.out.println(s);
      }  
* 数组转为集合
* 数组的工具类Arrays提供了应该静态方法asList
* 可以讲数组转为一个List集合       String array[] = {"11", "22", "33"};
      System.out.println("array:" + Arrays.toString(array));
      List<String> list = Arrays.asList(array);
      System.out.println("list" + list);
      /*
            asList方法内部:
            创建一个名为ArrayList的实例(注意,它不是java.util.ArrayList
            而是Arrays自己定义的一个内部类)。该实例会直接引用传入的数组。
            因此对该集合的操作就是对该数组的操作。
         */
      //注意,对集合元素的操作就是对原数组元素的操作
      list.set(2, "三");
      System.out.println("list" + list);
      System.out.println("array:" + Arrays.toString(array));

      //因为数组定长,所以试图改变长度的操作都是不支持的,会抛出不支持操作异常(add、remove都不行)
      //java.lang.UnsupportedOperationException
      //list.add("七");
//      System.out.println("list" + list);
//      System.out.println("array:" + Arrays.toString(array));
//      list.remove("三");
//      System.out.println("list" + list);
//      System.out.println("array:" + Arrays.toString(array));




      /*
            可以自行创建一个新集合,然后包含前面数组转换的集合,这样就可以
            随意的修改元素了且不会对原数组产生影响。
         */
      // List<String> list2 = new ArrayList<>();
      // list2.addAll(list);
      List<String> list2=new ArrayList<>(list);
      list2.add("七");
      System.out.println("list2:"+list2);
      list2.remove("三");
      System.out.println("list2:"+list2);
         /*
            所有的集合都支持一种参数为Collection的构造器
            作用是在创建该集合的同时就包含参数传入的集合中所有元素
            List<String> list2 = new ArrayList<>(list);
            上面的实例化等同于:
            List<String> list2 = new ArrayList<>();
            list2.addAll(list);
         */
 
 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Java核心API——collection类的常见方法