1.Parameterize确定的参数,用参数表示
2.Argument形式参数
3.子类用父亲的方法不用强制转换,父亲用儿子的方法需
要应用强制类型转换
4. List<Number> list1=new ArrayList<Number>();
List<String> list2=new ArrayList<String>();
List<Object> list3=new ArrayList<Object>();
List list4=new ArrayList();
5.Arraylist的几种遍历方法
List l=new ArrayList();
for(int i=0;i<5;i++)
list.add(i);
Iterator it=list.iterator();////这种遍历方法只能单向遍历
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("--------------------");
ListIterator lit=list.listIterator();////可以双向遍历,但是要记住游标的位置,默认开始时游标在开头
while(lit.hasNext())
System.out.println(lit.next());
while(lit.hasPrevious())
System.out.println(lit.previous());
System.out.println("--------------------");
for(Object a:list)////每次都需要进行强转,所以十分影响速度
System.out.println(a);
System.out.println("--------------------");
for(int j=0;j<list.size();j++)
System.out.println(list.get(j));
Object[] ob=list.toArray();
for(int j=0;j<ob.length;j++)
System.out.println(ob[j]);
}
}
6. Vector v=new Vector();
for(int k=0;k<4;k++)
v.add(k);
Enumeration e=v.elements();
while(e.hasMoreElements())
System.out.println(e.nextElement());
7.只有线程安全才可以用枚举遍历。
8. Vector和ArrayList的使用区别(LinkedList完成好多接口)
1) Vector线程(方法同步)安全,Arraylist的线程(不同步)不安全
2) 当仅有一个线程或多线程访问时,Arraylist因不用额外开销检查监视器,故速度更快
3) Arraylist用Iterator遍历
4) Vector用Enumration遍历
9. 集合(collection):可以随便改变大小,比较慢
数组:声明之后不能改变大小,速度大
10.Object方法: getClass, notifyAll, hashCode,equals, toString,notify, finalize,clone ,wait,
11.offerFirst和addFirst的区别:接口不同addFirst的返回值是void,为空。而offerFirst的返回值是boolean,也就是说插入成功返回true,否则返回false
12.offer,push,add均是添加元素,只是实现的接口不同
Pop删除元素
Poll与pollFirst均删除第一个位置的元素,pollLast删除最后一个位置的元素
Peek与peekFirst是返回将要删除的元素(第一个位置),但是并不删除
同理peekLast是最后一个元素