1,只要重写等于就必须重写hashCode
2.因为set存储的是不重复对象,所以设置必须重写第1的两个方法
3.如果自定义的对象作为主键那么必须重写第1的方法
4.使用了subList那么对于园集合的操作会使子列表错误
5.使用集合转数组的方法,必须使用toArray(T [] array),传入的类型必须一样,大小就是list.size()
列表<String> list = new ArrayList <String>(2);
list.add( “关”);
list.add( “保”);
String [] array = new String [list.size()];
array = list.toArray(array);
6.数组转集合是Arrays.asList();这只是个转接口,不能对转的集合进行CRUD,转因为过来的集合不是一般的集合
它没有CRUD的方法
7.泛型通配符,<?扩展T>这样写法的泛型集合没有添方法,适合往外读数据,而<?super T>没有得方法,适合插入数据
8.在foreach循环里进行元素的remove / add操作,remove请使用Iterator
Iterator <String> iterator = list.iterator();
而(迭代器。
String item = iterator.next();
if(删除的条件){
iterator.remove();
}
}
9.集合初始化时指定好初始化的值
10使用的entrySet遍历地图类集合KV,而不是的keySet方式进行遍历,这是因为前者遍历一次,后者遍历两次
jdk8使用map.foreach方法
11.HashMap的键和值允许为空
12.利用集合的集合性唯一可以很好的对集合进行操作
控制语句
1.不要在条件判断里执行复杂语句,把条件判断赋值给一个布尔类型的变量