集合
1、Abstract开头的类用于设置自己的类库,其中已有部分实现,比直接实现接口方便得多。
2、迭代器在调用next()方法之前必须先调用hasNext()方法,否则将抛出 NoSuchElementException。
3、Collection接口扩展了Iterable接口,因此标准类库中所有集合都可以使用”foreach”循环。
4、Iterator接口的remove方法将会删除上次调用next方法时返回的元素,如果没有调用next方法将会抛出IllegalStateException异常,即next方法与remove方法的调用具有互相依赖性。
5、不能连续调用连词remove方法!
6、要迭代处理映射,使用forEach方法。
7、getOrDefault方法 用于更新数据。
8、集合框架不认为映射是一个集合,不过映射的视图是实现了集合接口的对象。对视图的操作将对原映射进行操作。但由于视图知识包装了接口而非实际的集合对象,故只能访问接口中定义的方法。
9、使用 entrySet() || keySet() || values() 可以的到视图,可以在视图上使用迭代器的remove方法删除元素,但不能增加元素。
10、覆盖LinkedHashMap的removeEldestEntry()方法可以将实现“最近最少使用”原则的过程自动化。
11、术语定义:
如果列表支持set方法,则其为 可修改的。
如果列表支持add和remove方法,则其为 可改变大小的。
12、Collections接口的binarySearch()方法返回值>=0时,表示匹配对象的索引。若返回负值i,则将该元素插入到原集合的-i-1位置可以保持原集合的有序性。
13、批操作:removeAll <->retainAll
借助映射的视图进行批操作可以将操作限制在子集中。
14、集合与数组的转换:
数组->集合:Arrays.asList()
集合->数组:toArray(new T[]);若直接使用toArray()将得到一个Object数组。

浙公网安备 33010602011771号