集合泛型回顾加强

一。谈起集合,首先应该想到一个图,如下:

二。记住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。

原文地址:https://www.cnblogs.com/imqsl/p/6061379.html