集合泛型回顾加强


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

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

优质内容筛选与推荐>>
1、数据库命名的规则与开发时所需要注意的几个问
2、【LeetCode OJ】Remove Duplicates from Sorted Array
3、docker学习笔记
4、nginx代理静态资源403
5、pybedtools --bedtools的python包


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号