今天完成的事情:
1.数据结构:
Collection接口:
Collection是最基本的集合接口
List接口:
List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。
但是和Set不同的是List允许有相同的元素。
实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。
LinkedList类:LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法 在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。(不熟还没有用代码是实战过)。
ArrayList类:ArrayList实现了可变大小的数组。它允许所有元素,包括null。ArrayList没有同步。size,isEmpty,get,set方法运行时间为常数。但是add方法开销为分摊的常数,添加n个元素需要O(n)的时间。其他的方法运行时间为线性。
Vector类:Vector非常类似ArrayList,但是Vector是同步的(没用过)
Stack 类:Stack继承自Vector,实现一个后进先出的堆栈。Stack提供5个额外的方法使得Vector得以被当作堆栈使用。基本的push和pop方法,还有peek方法得到栈顶的元素,empty方法测试堆栈是否为空,search方法检测一个元素在堆栈中的位置。Stack刚创建后是空栈。
Set接口:Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。
Map接口:Map没有继承Collection接口,Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。
Hashtable类:Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。Hashtable是同步的。
HashMap类:HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key。
WeakHashMap类:WeakHashMap是一种改进的HashMap,它对key实行“弱引用”,如果一个key不再被外部所引用,那么该key可以被GC回收。(这种map类我还是第一次见)
2.一些常见的排序算法:
还有分治排序算法,快速排序,,,,什么的。
明天计划的事情:
继续投简历,做面试题。整理知识点。
遇到的问题:
题目做多了,发现知识点越来越多,自己学到的九牛一毛,总有一种无从下手的感觉,不过现在还是做面试题,能补多少是多少。
总结:
数据类型,面试考到的差不多都会问数据类型他们之间的区别什么的,上次就问到了,hashtable与hashmap的区别,级别高的程序员可能问的就比较多了。算法那一块主要是算法的思想和逻辑要正确,面试写不出来也能讲一讲思路,不至于很惨。
评论