集合


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数组。

posted @ 2020-01-13 21:59  wanghuanyeah  阅读(125)  评论(0)    收藏  举报