Java中List与Map初始化的一些写法分享
2016-01-12 10:27
531 查看
很多时候,我们都习惯在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程序设计的思维。
在还没有发现新写法之前时,我也一直是这么初始化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程序设计的思维。
相关文章推荐
- Spring中@Autowired注解、@Resource注解的区别
- java 线程、线程池基本应用演示样例代码回想
- Eclipse闪退/打不开/无法启动/一闪而过
- 【第八章】 对ORM的支持 之 8.2 集成Hibernate3 ——跟我学spring3
- 解决remove @override annotation(jdk1.5和jdk1.6)
- 深入理解java异常处理机制
- java转义字符对照表
- SFTPTool 和 FTPTooL.java
- spring boot 学习小结1 spring mvc环境搭建
- eclipse下如何打开ftl文件
- AndroidStudio快捷键和Eclipse快捷键对比
- Eclipse添加默认的JRE
- 【Struts2基础】——Struts1 & Struts2 区别
- Java 加密解密之对称加密算法AES
- java深入技术九 (注解)
- 解决Eclipse中文乱码的方法
- eclipse安装php插件
- 【第八章】 对ORM的支持 之 8.1 概述 ——跟我学spring3
- Spring定时任务的几种实现
- java读取配置文件