一、集合介绍
- 集合介绍
a.TreeSet:以有序状态保持并可防止重复;
b. HashMap: 可用成对的name/value来保存和取出;
c. LinkedList: 针对经常插入或删除中间元素所设计的高效率集合;
d. HashSet: 防止重复的集合,可快速地寻找相符的元素;
e. LinkedHashMap: 类似于HashMap,但可记住元素插入的顺序,也可以设定成依照元素上次存取的先后来排序。
二、泛型
- 加入泛型的原因:更好的数据类型安全性;
- 泛型运用格式
a.创建泛型化的实例:new ArrayList<Song>()
;
b.声明与指定泛型类型的变量:ArrayList<Song> songList = new ArrayList<Song>();
c.声明与调用取用泛型类型的方法:void foo(List<Song> list); x.foo(songList);
- 泛型方法有严格的类型安全性,多态会通不过编译.
三、相等性
- 引用相等性:引用到堆上同一个对象的两个引用时相等的,用"=="表示;
- 对象相等性:equals()相等和两个对象的hashCode()相等,覆盖equals()就必须覆盖hashCode()方法。
四、TreeSet和Map
- 元素必须实现comparable或者说明comparable;
- Map 必须说明键和值:
HashMap<String,Integer> map = new HashMap<String,Integer>;
五、万能字符
- 格式:public void go(ArrayList< ? extends Animal> animals){};
- 说明:在方法参数中使用万能字符时,编译器会阻止任何可能破坏引用参数所指集合的行为。比如,可以使用集合元素的方法,但是无法删除和插入元素。