0525泰山版java开发手册
2021-01-10 02:32
标签:图片 mamicode 动态创建 直接 idt strong png one 导致 六.集合处理 4.在使用java.util.stream.Collectors类的toMap()方法转为Map集合时,一定要注意当value为null时会抛NPE异常 NPE:NullPointerException(); 5.ArrayList的subList结果不可强转成ArrayList,否则会抛出ClassCastException异常 subList指的是返回一个集合的一部分视图LIst 对subList或List的操作都会反映到彼此上,所以需要尤其注意对subList内容和List内容的修改
6.使用Map的方法keySet()/values()/entrySet()返回集合对象时,不可以对其进行添加元素操作,否则会抛出UnsupprotedOperationException异常 keySet():返回所有key值; values():返回所有Value到一个Collection集合; entrySet():返回map中各个key和value的映射关系集合 7.Collections类返回的对象,如:emptyList()/singletonList()等都是immutable list,不可对其进行添加或者删除元素的操作 emptyList():创建一个空的集合,优点是省空间 singletonList():只可以存一个对象的不可变的集合 8.使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一致,长度为0的空数组 使用 toArray 带参方法,数组空间大小的 length, 9.在使用Collection接口任何实现类的addAll()方法时,都要对输入的几何参数进行NPE判断 result.addAll(list);//把list中的每一个元素加到result中,result.size()==list.size() result.add(list);//将list作为一个元素加到result中,则result.size()为1 10.使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合相关方法,它的add/remove/clear方法会抛出UnsupportedOperationException异常 11.泛型通配符 extends T>来接收返回的数据,此写法的泛型集合不能使用add方法,而 super T>不能使用 get方法,两者在接口调用赋值的场景中容易出错 extends T>表示上界,即所有继承T的(包括T) super T>表示下界,即所有是T的父类的(包括T) 第一、频繁往外读取内容的,适合用 extends T>。 第二、经常往里插入的,适合用 super T>。 12.在无泛型限制定义的集合赋值给泛型限制的集合时,在使用集合元素时,需要进行instance of 判断,避免抛出ClassCastException异常 13.不要在foreach循环里进行元素的remove/add操作. remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁(操作系统) 三个条件如下 15.集合初始化时,指定集合初始值大小,HashMap 使用 HashMap(int initialCapacity) 初始化,如果暂时无法确定集合大小,那么指定默认值(16)即可。 16.使用entrySet遍历Map类集合KV,而不是keySet方式进行遍历 0525泰山版java开发手册 标签:图片 mamicode 动态创建 直接 idt strong png one 导致 原文地址:https://www.cnblogs.com/aLin002/p/12956582.htmlpublic static void main(String[] args) {
List
1) 等于 0,动态创建与 size 相同的数组,性能最好。
2) 大于 0 但小于 size,重新创建大小等于 size 的数组,增加 GC 负担。
3) 等于 size,在高并发情况下,数组创建完成之后,size 正在变大的情况下,负面影响与 2 相同。
4) 大于 size,空间浪费,且在 size 处插入 null 值,存在 NPE 隐患。
1) x,y 的比较结果和 y,x 的比较结果相反。
2) x>y,y>z,则 x>z。
3) x=y,则 x,z 比较结果和 y,z 比较结果相同。 1 public class main {
2 public static void main(String[] args) {
3 Map hsmap = new HashMap(16) {
4 {
5 put("1","h");
6 put("2","e");
7 put("3","l");
8 }
9 };
10 System.out.println(hsmap);
11 }
12 }
下一篇:html标签初识(一)