集合泛型回顾加强
一。谈起集合,首先应该想到一个图,如下:
二。记住set与list的特征和区别:
set是无序且不可重复,list是有序可重复。
三。linkedlist与ArrayList的区别:
选用list时候用linedlist还是arraylist也要看他们的特点来区别对待:
linkedlist是用链表来实现的,修改容易,查找(读取)困难,要挨着查找。而ArrayList是用数组实现的,查找(读取)容易5*10,一下就定位过去了,但修改就很繁琐,ArrayList删除或者修改某一个元素时候,要把除删除(修改)元素所有其他的元素copy出来,放到另一个数组中,而linkedlist改一下指针就行了。
四。泛型
泛型主要是针对jdk1.5之前,类型混乱,装入集合的类型都被当做object类型看待,从而失去自己的类型,而取出来的时候又要类型转换,效率低,容易产生错误。而泛型就避免了这种问题,使得可以在定义集合的时候就指定装载相应数据的类型,如果有错在运行之前就可以更正错误,及时改正之后不需要再为这这方面考虑。如List<String> s= new ArrayList();指定了list类型为string类型,因此只能往容器中添加string类型的数据,其他类型的就不可以。
五。集合中很广泛地运用了多态。
这个要多注意,可能是之前水平太渣什么都不懂。类似这种List<String> s= new ArrayList(),Collection a=new hashmap();
六。六个接口分别记住:collection,iterator,set,list,map,comparable
其中,iterator:所有实现了collection接口的容器都有一个iterator方法来返回一个实现了iterator接口的对象。
comparable接口是用来比较的,所有可以排序的类都实现了java.lang.comparable接口。
map里面的键值对的键(索引)会比较hashcode。