很多时候,我们都习惯在Java编程中用list或者map,来存储一些对象或者其他数据类型
在还没有发现新写法之前时,我也一直是这么初始化List跟Map:
Java代码
- //初始化List
- List list = new ArrayList();
- list.add(“string1″);
- list.add(“string2″);
- //some other list.add() code……
- list.add(“stringN”);
- //初始化Map
- Map map = new HashMap();
- map.put(“key1″, “value1″);
- map.put(“key2″, “value2″);
- //…. some other map.put() code
- map.put(“keyN”, “valueN”);
这种方法有点麻烦,下面介绍一下另外一种方法:
Java代码
- //初始化List
- List list = new ArrayList(){{
- add(“string1″);
- add(“string2″);
- //some other add() code……
- add(“stringN”);
- }};
- //初始化Map
- Map map = new HashMap(){{
- put(“key1″, “value1″);
- put(“key2″, “value2″);
- //…. some other put() code
- put(“keyN”, “valueN”);
- }};
虽然看起来没少写多少代码,但是个人觉得这种方式还是简洁多了很多,很流畅啊哈哈~
例,
测试了List两个实例更简单
方法一:
利用Array与ArrayList的相互转换方法,代码如下:
ArrayList list = new ArrayList(Arrays.asList(“Ryan”, “Julie”, “Bob”));
方法二:
利用ArrayList的add方法完成初始化赋值,代码如下:
Java代码
- List list = new ArrayList(){{
- add(“A”);
- add(“B”);
- }}
其实有时候,我们都受习惯的影响,习惯于用list或者map来做,但是其中还可以再做简洁点的优化和提升,可以从探索中不断了解Java程序设计的思维。