集合框架
- JCF(java collections framework)
- 为了解决某一个特定问题,预先设计好的一系列具有继承或实现关系的类与接口:框架
- 工具类:Collections操作集合,arrays操作数组;
- 集合分为list,map,set;3个分支;
- Iterator迭代器(遍历接口);工具接口:Comparable内部比较器(由被比较的元素自己实现)—-Comparator外部比较器;同时存在时外部比较器起作用;
- 泛型:是用来限定集合对象只能放入某种类型的元素;
- 遍历:将集合中的元素每个都访问一次;
- 一旦重写了equals方法,就要重写HashCode,equals返回真,hashCode相等;
List
- 列表: 特点:线性(有序),集合内的元素的放置是有序的,可以通过前一个元素找到下一个元素;
- 方法:add();remove();get();set();size();
- Arraylist(底层数据结构就是数组,用于查询,末尾增删数据,线程不安全);
- Linkedlist(相邻两元素可以互指,底层数据结构是双向列表,用于中间增加或删除数据);
- Vector(底层数据结构就是数组,线程安全);
Set
- 集;元素不能重复;
- 方法:add();remove();size();
- HashSet:
- Set集合根据两个对象的equals方法和hashCode方法来判断两个对象是否重复,equals返回真,hashCode相等;
- 结论:严格意义上一旦重写了equals方法就要重写hashcode方法;equals返回真,hashCode相等;equals返回false,hashCode不要求不相等;
Map
- 映射;键值对存放数据(key–value);
- key不能重复,value可以重复;
- 方法:put()(增加元素用put方法:键不重复时;作为修改元素方式:键重复时);get();KeySet();values();remove();
- Hashmap();
- TreeMap();
- Hashtable();
Collections
- addAll(),sort():shuffle();
arrays
- 1.