这一章讲了很多api,没仔细看,有些东西也没看到位,难受。
通过使用泛型,看可以在编译期防止将错误类型的对象放到容器中。
toString方法默认打印类名加上对象散列码。
容器可分为:1、Collection:独立元素的序列。List按插入顺序保存元素,Set不能有重复元素,Queue按规则确定对象产生顺序; 2、Map:一组成对的“键值对”对象
若用Array.asList(数组)产生的list对象直接进行使用,将不能用delete和add方法。因为底层数据结构依然是数组,数组不能改变大小。可以将结果作为参数传入ArrayList就可以实现。
Collection打印出来的内容用方括号括住,Map用大括号。
ArrayList底层数据结构使用的是数组。LinkedList是链表结构。前者优于随机访问,后者优于插入删除以及顺序访问。
迭代器(也是一种设计模式)是一个对象。工作是遍历并选择序列中的对象。迭代器通常被称为轻量级对象(创建代价小)。
java中Iterator只能向后移动,该Iterator用来:
1、使用iterator()返回Iterator; 2、next()下一个元素; 3、hasNext()是否还有元素; 4、remove()将返回元素删除
ListIterator只能用于各种List类的访问,但能双向移动。
查找是Set最重要的操作。Set与Collection具有完全一样的接口,只是行为不同。
Set是基于对象的值来确定归属性的。
所有Collection对象都能与foreach语句工作
任何实现Iterator的类都能用于foreach语句。