List使用时,每次都add(object);有时总会想一些骚操作,能够看起来简洁点。
List初始化并赋值,尝试过以下6种可行方式

方式列表

1.普通方式

List<String> list1 = new ArrayList<String>();
list1.add("大少");
list1.add("二少");
list1.add("三少");

2.匿名内部类

List<String> list2 = new ArrayList<String>() {{add("大少");add("二少");add("三少");}
};

3.Arrays.asList()作为初始化参数

list能够正常的add

List<String> list3 = new ArrayList<String>(Arrays.asList("大少", "二少", "三少"));
//或者
List<String> list = new ArrayList();
list.addAll(Arrays.asList("大少", "二少", "三少"));

4.直接使用Arrays.asList()

无法add,如果继续添加数据将出现java.lang.UnsupportedOperationException

List<String> list4 = Arrays.asList("大少", "二少", "三少");

5.Collections.nCopies返回一个不可变列表组成的n个拷贝的指定对象

每个数据都是一样的

ArrayList<String> list5 = new ArrayList<String>(Collections.nCopies(3, "大少"));

6.guava的ImmutableList

无法add,如果继续添加数据将出现java.lang.UnsupportedOperationException

List<String> list6 = ImmutableList.of("大少", "二少", "三少");
List<String> list7 = ImmutableList.<String>builder().add("大少").add("二少").add("三少").build();

List初始化并赋值相关推荐

  1. C++搞懂深拷贝初始化=与赋值(运算符重载)=的区别

    C++搞懂深拷贝初始化=与赋值(运算符重载)=的区别 C++构造函数用=与()不完全一样,注意使用=时c++中临时变量不能作为非const的引用参数,不论是=运算符重载还是构造函数,否则可能出现以下错 ...

  2. c++容器定义、初始化、赋值

    令C表示六个顺序容器类型期中之一(vector,deque,list,forward,string,array),以下详细说明定义和初始化以及赋值. 1.容器定义和初始化 (1)C  c;默认构造函数 ...

  3. 列表初始化和赋值初始化的使用注意事项

    成员变量初始化方式有两种:列表初始化和赋值初始化.如下代码.但是这两种初始化表面上看着相同,但是用法和原理却并不相同.本篇博客主要讨论这两种初始化的使用方法和基本原理. class Test {pub ...

  4. C语言中指针的初始化和赋值

    1.指针的初始化 指针初始化时,"="的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空).此时,*p只是表示定 ...

  5. 《C++ Primer 第五版》第二章(1-4小节)------基本内置类型,初始化和赋值及声明和定义,指针和引用,const和constexpr

    C++ Primer第二章的内容主要介绍了变量和基础类型,包括C++语言定义的基础内置类型.变量的定义及声明.符合类型如指针及引用的介绍和const及常量表达式constexpr的介绍,本次博客也从这 ...

  6. C++ 初始化与赋值

    1.初始化与赋值的区别: 二者的区别不是看,是否有=这个赋值操作符,而是看操作的时候,对象是否已经有值. 初始化:创建对象,并给它设置初始值. 赋值:对象已经有值,擦除对象的当前值,并使用新值代替. ...

  7. C++/C--vector初始化与赋值【转载】

    1. 一维情况 (1)不带参数的构造函数初始化 //初始化一个size为0的vector vector<int> a; (2)带参数的构造函数初始化 //初始化size,但每个元素值为默认 ...

  8. 全局变量只能初始化不能赋值

    C++中,全局变量只能声明.初始化,而不能赋值 也就是说,下面这样是不被允许的: #include <cstdio>using namespace std; int a; a = 2; i ...

  9. c++ mat赋值_Mat 的几种初始化和赋值方法

    这几天用到了由cv::Point3f和std::vector到cv::Mat数据类型的转换.本质上就是换一下容器.今晚做个小总结. 由Point3f 到 Mat 有两种方法,一种使用cv::Mat_& ...

  10. C++中对string对象的初始化及赋值方式总结

    C++中对string对象的初始化及赋值方式总结 C++中的string对象是最常用的几种数据类型之一. 初始化string对象的方式有以下几种: string s1; //默认初始化,s1是一个空串 ...

最新文章

  1. java的byte与C#的异同引起的字符处理问题。
  2. 获得分辨率_直播教程 | 直播画质认知及如何获得最优画质
  3. 数控g71编程实例带图_数车编程G71实例讲解
  4. 现代C++函数式编程
  5. 如何用java创建超链接_Java如何在PPT中的幻灯片上创建超链接?
  6. plus 什么是mybais_【mybatis-plus】什么是乐观锁?如何实现“乐观锁”
  7. 【转】全排列算法非递归实现和递归实现
  8. 【洛谷P1966】火柴排队
  9. 带你尝鲜LiteOS 组件EasyFlash
  10. Excel中 插入 对号等特殊字符
  11. 深入理解 flex 布局以及计算_Flexbox, Layout
  12. Window Server 2008 R2 文件权限管理
  13. 《概率论与数理统计》(浙大第四版)第五章总结笔记(纯手写)
  14. 房屋建筑结构安全自动在线监测系统解决方案
  15. 贝叶斯公式的理解——机器学习算法(一)
  16. c语言写马达驱动程序,如何用单片机驱动马达
  17. docker装LibreELEC_只需一步 树莓派刷入LibreELEC系统变身电视机顶盒
  18. 《操作系统真象还原》——导读
  19. 常见的自动化测试工具汇总
  20. 热腾腾的鸡汤,趁热。

热门文章

  1. Excel中VLOOKUP函数单,多条件查找index与match
  2. C# 流水号、顺序号(范围001-ZZZ,31进制,0-9,B-Z,26个字母去除A/E/I/O/U)
  3. 进销存商城前几名的运营方法|三招提高微信商城用户黏性
  4. 动力节点crm项目中登录无响应记录
  5. linux expect 通配符,Expect实例与expect使用简介
  6. python中values作用_Python values()与itervalues()的用法详解
  7. 404 Not Found 的常见解决办法
  8. 云计算时代:数字化转型的基础设施
  9. 机器学习之特征选择与稀疏学习
  10. 欧拉函数和莫比乌斯函数