大家好,欢迎来到IT知识分享网。
一、初始化list的三种方法
import java.util.stream.Collectors;
public static void initList() {
//方法一:构造 List 后使用 List.add 初始化
List<String> list1 = new ArrayList<String>();
list1.add("a");
list1.add("b");
//方法二:使用 {{}} 双括号语法
List<String> list2 = new ArrayList<String>() {{
add("a");
add("b");
}};
//方法三:使用 Arrays.asList
List<String> list3 = Arrays.asList("a", "b");
List<String> list31 = new ArrayList<String>(Arrays.asList("a", "b"));
//方法四:使用Stream
List<String> list4 = Stream.of("a", "b", "c").collect(Collectors.toList());
//方法五:使用 Lists
List<String> list5 = Lists.newArrayList("a", "b", "c");
}
二、lists.newarraylist()和new arraylist() 区别
List<String> list = new ArrayList<String>(); List<String> list = Lists.newArrayList();
Lists和Maps是两个工具类, Lists.newArrayList()其实和new ArrayList()几乎一模一样, 它唯一帮你做的(其实是javac帮你做的), 就是少写泛型的部分(即:自动推导尖括号里的数据类型)
源码:
另外,newArrayList这个方法有丰富的重载:
Lists.newArrayList(E... elements) Lists.newArrayList(Iterable<? extends E> elements) Lists.newArrayList(Iterator<? extends E> elements)
还有很多前缀扩展方法:
List<T> exactly = Lists.newArrayListWithCapacity(100);
List<T> approx = Lists.newArrayListWithExpectedSize(100);
这样,使得函数名变得更有可读性,一眼就看出方法的作用,new ArrayList(100)的可读性就比较差了。
三、参考
https://juejin.im/post/5bddcee3e51d4520b6639663
https://blog.csdn.net/LonelyMrFan/article/details/73526815
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/29731.html