java初始化list/map批量赋值


参考:

  • https://blog.csdn.net/slience56/article/details/77453606

java默认的list和map只能一个个插入,若是初始化的时候就要设置多个内容比较麻烦

List初始化

方法1:Arrays.asList

直接使用Arrays.asList将参数拼起来
缺点:拼接的list不能增删值,会异常

List allAppList = Arrays.asList(SrsUtils.uav, SrsUtils.uav_audio, SrsUtils.apron);

方法2

//注意在new的时候,要将具体的泛型类型设置上
List list = new ArrayList() {{//注意是2层的{{
    //add直接使用,不要 list.add(),因为此时list还没有初始化完,会空指针异常
    add(SrsUtils.uav);
    add(SrsUtils.uav_audio);
    add(SrsUtils.apron);
    add(SrsUtils.camera)
}};

Map初始化

//注意在new的时候,要将具体的泛型类型设置上
Map map = new ConcurrentHashMap() {{//注意是2层的{{
    //put直接使用,不要 map.put(),因为此时map还没有初始化完,会空指针异常
    put(LivePullType.RTMP, "rtmp");    
    put(LivePullType.WEBRTC, "webrtc");
}};