集合与数组的转换

集合和数组的转换

集合转换数组:CollectionToArrayDemo
package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

/**
 * 集合转为数组
 * Collection定义了方法toArray可以将一个集合转换为一个数组
 */
public class CollectionToArrayDemo {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<>();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        //集合:[one, two, three, four, five]
        System.out.println(c);
        //Object[] objects = c.toArray();
        String[] array = c.toArray(new String[c.size()]);
        System.out.println(array.length);
        //数组:[one, two, three, four, five]
        /*
        * Arrays.toString()
        * 将数组按照[数组元素1,元素2,...]的格式输出
        * */
        System.out.println(array);//[Ljava.lang.String;@1b6d3586
        System.out.println(Arrays.toString(array));
    }
}
数组转换集合: ArrayToListDemo
package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为List集合
 * 数组的工具类Arrays提供了一个静态方法asList,可以将一个数组转换为一个List集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"雷立锋","陈凌翔","杨展鹏","老安","左攀"};
        System.out.println("array:"+ Arrays.toString(array));
        List<String> list = Arrays.asList(array);
        System.out.println("list:"+list);
        /*将下标1的位置的元素替换*/
        list.set(1, "黄俊翔");
        System.out.println("list:"+list);
        System.out.println("array:"+ Arrays.toString(array));
        /*
        * 由于数组是定长的,因此对集合增删元素会导致数组也做同样的操作,
        * 这时会抛异常
        * */
        //list.add("小李子");
        /*
        *如果有增删的需求,只能创建一个新的集合,并将数组转换的集合的内容导入到新集合中
        * */
        //ArrayList<Object> list2 = new ArrayList<>();
        //list2.addAll(list);
        /*
        * 所有的集合都支持一个参数为Collection的构造器,目标是在创建集合的同时,将给定的集合的所有元素都转载进去
        * */
        ArrayList<String> list2 = new ArrayList<>(list);
        System.out.println(list2);
        list2.add("小李子");
        System.out.println(list2);
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值