关于集合框架的一些……

来源:互联网 发布:linux snmp自定义oid 编辑:程序博客网 时间:2024/05/22 04:25

  所谓的集合框架,就是Java的设计者把常用的数据结构和算法,抽象出来,定义一系列的接口,供人们去使用,即Java collection frame

 

集合框架的层次结构如图:

1、关于list 和 set 的比较:set 检索效率比较低,删除和插入的效率比较高,删除和插入时不会导致元素相对位置的变化。

       而list 类似的是数据结构中的数组,list 可以动态增长,对于元素的检索比较容易,但是,删除和插入会引起元素位置的变化。

2、set 和 list 的子类比较 

    2.1  hashset  

          hashset采用hash算法,以哈希表的方式存储,所以,删除和插入的速度会很快。hashset中,不能存放相同的数据。treeset可以自动维持一定的顺序。

    2.2  Vector,ArrayList, LinkedList 比较

          ArrayList 对应的是数据结构中的动态数组。   一般开发中经常用到,对数据的遍历。

          LinkedList 对应的是 队列,栈,链表。和ArrayList相比,删除和插入比较快,但是,索引比较慢。

          Vector 对应的也是动态数组,但是 Vector 是线程安全的,涉及到加锁的问题,所以 相对来说,效率较低。

3、关于Map接口,从图中,也可以看到,Map接口是和coolection接口是平级的,   Map 就是一组键值对,   不允许有重复的键出现。

      hashTable 是继承自Map接口,和hashMap的区别是:

      hashTable 是线程安全的(重量级),不允许空的键值对

       hashMap  是非线程安全的(轻量级),允许有空的键值对。

     PS:一些线程安全的类: Vector  Stack  Emuration HashTable

 4、关于迭代器以及它的使用

     迭代器主要就是帮助我们拿出集合中的值。Iterator

     使用:

     ArrayList  list=new ArrayList();

     Iterator it=list.iterator();//得到迭代器对象

    while(it.next())

{

//取出迭代器中的值

}







原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 感冒做剧烈运动怎么办 雪乐山滑雪怎么办卡 吉林省社保漏保怎么办 时时彩账户冻结怎么办 半夜到天津机场怎么办 小孩吃了避孕药怎么办 太阳能手表停了怎么办 太阳伞架坏了怎么办 通州自行车闪退怎么办? 台球厅生意不好怎么办 被水母咬了怎么办 被告不收判决书怎么办 律师完不成创收怎么办 保险业务员欺骗客户怎么办 德州扑克一样大怎么办 天气热没有空调怎么办 毕业证相片掉了怎么办 环世界肠道蠕虫怎么办 驾校时间过期了怎么办 过度劳累手疼怎么办 工商年检做错了怎么办 工商年检数字证书过期怎么办 工商年检过了怎么办 工商忘了年检怎么办 营业执照年检过期了怎么办 个体户营业执照没年检怎么办 工商执照没有年检怎么办 工商执照未年检怎么办 货车过期未年检怎么办 银吉姆健身卡怎么办 工大集团破产怎么办 哈尔滨摩托车棋牌证怎么办 喝鸽子汤回奶了怎么办 验车晚了一个月怎么办 太难找销路了怎么办 爆炒鸽子肉硬怎么办 哺乳期吃了鸽子怎么办 钻石戒指圈大了怎么办 鹌鹑蛋吃多了怎么办 鸽子在地上下蛋怎么办 卧床病人发低烧怎么办