学习Java第四天
这里主要关于哈希表,队列,栈,树,排序,包括各个数据结构的插入、删除、修改、查找等操作
一、Set接口
Set集合中的元素是无序的,不可重复的
1.HashSet
根据对象的哈希值来确定元素在集合中的存储位置,且集合中的元素可以为null
2.TreeSet
底层用二叉树实现元素存储,可以对元素进行排序
1.自然排序
使用Comparable接口,定义一个compareTo(Object o)方法,对对象大小进行比较
obj1.compareTo(obj2) 返回0,代表两对象相等,返回正整数,代表obj1 > obj2,返回负整数,代表obj1 < obj2
2.定制排序
使用Comparator接口,定义一个int Compare(T t1, T t2)方法,可以比较t1,t2大小
二.Queue接口
模拟队列(FIFO原则),队列不允许随机访问
进队 boolean offer(Object e)操作
出队 Object peek() 出队并保留
出队 Object poll()操作 出队并删除
1.PriorityQueue实现类
非绝对标准队列实现,保存队列时会按队列元素的大小重新排序
2.Deque接口与ArrayDeque实现类
Deque可以实现栈,该类包含pop出栈和push入栈两个方法
三、Map接口
1.HashMap集合
Map接口与Collection接口并列存在,存储键值对(key-value)形式的元素,描述了一种映射关系
key和value可以是任何引用类型的数据
size()用来表示map接口的长度
Object get(Object key) 返回指定键所映射的值
2.LinkedHashMap集合
维护遍历的顺序
3.TreeMap集合
可以对键值对进行排序
四、JDK5.0新特性——泛型
解决数据类型的安全问题
在类声明时通过一个标识,表示类中某个属性的类型或者是某个方法的返回值及参数类型
五、Collection工具类
1.排序操作
1.reverse(List list)
2.shuffle (List list)
3.sort(List list)
4.swap(List list, int i, int j)
2.查找、替换操作
1.max(Collection coll) 返回coll集合中最大元素
2.min(Collection coll) 返回coll集合中最小元素
3.replaceAll(List list, Object o1, Object o2) 用o2元素替换所有的o1元素
4.frequency(Collection coll,Object o) 返回coll集合中,o元素出现的次数
5.binarySearch(List list,Object o) 使用二分法搜索o,前提是集合是有序的
六、Arrays工具类
1.sort(Object[] arr)
2.binarySearch(Object[] arr, Object o)
3.fill(Object[] arr,Object o) 将所有元素都替换为o元素
4.toString(Object[] arr) 将数组转换为字符串