`
lcy0202
  • 浏览: 178562 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java集合框架

 
阅读更多

   1.总的架构如下:

   Collection接口: 

             Set接口:

            HashSet具体类

            LinkedHashSet具体类

            TreeSet具体类

       List接口: 

            ArrayList具体类

            LinkedList具体类

            向量类Vector具体类

            Stack具体类

Map接口:

       HashMap类

       LinkedHashMap类

       TreeMap类 

Collection持有单个元素,而Map持有相关联的键值对

 

2. Collection类型的两大类Set和List

   A.  Set和List接口都扩展自Collection,Set就是高中数学里所说的集合,不允许重复,无序。      List就像一个表,可以重复,元素在表里有顺序的放着。

   B.  HashSet的对象必须实现hashCode方法,javaAPI大多数类实现了hashCode方法。

   LinkedHashSet实现了对HashSet的扩展,支持规则集内元素的排序,在HashSet中元素是没      有顺序的,而在LinkedHashSet中,可以按元素插入集合的顺序进行提取

  TreeSet保证集中的元素是有序的,有2种方法可以实现对象之间的可比较性:

     1,添加到TreeSet的对象实现了Comparable接口;

     2,给规则集的元素指定一个比较器(Comparator)

   C.  效率上,如果按照插入的顺序提取元素的时候,应该采用LinkedHashSet,但是如果没有要求的         话,HashSet的效率要比LinkedHashSet的高,还是因为LinkedHashSet是按照插入集合的顺     序存储的;LinkedHashSet只是按照添加的的先后顺序在存储时保持顺序,要给集合元素添       加顺序属性,需要使用TreeSet(集合元素有排序关系)。

   3. List

      A.  List集合的特征:集合有序排列,可以有重复元素,可以随机访问(使用位置index添加、删除、访问元素)

List的实现类有ArrayList,LinkedList,这两个都是非线程安全的,Vector是线程安全的List实现类,Stack是vector的子类。

B. 插入数据上面的区别,在ArrayList的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;

而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。

C. Vector跟ArrayList的区别,前者的方法添加了同步处理,因而是线程安全的,但是后者        的效率高,所以没必要进行同步处理的时候都是用ArrayList;当需要增长时,Vector默认                 增长为原来一培,而ArrayList却是原来的一半  

4. Map 

A. Map是映射,跟前面的Set和List有本质的区别。

       散列图HashMap,链式散列图LinkedHashMap,树形图TreeHashMap是映射的3种实现,从        名字上来说,有了上述Set的3种实现的分析,这个也是类似的。

      HashMap:效率高

       LikedHashMap:按照添加顺序存储,可以按添加顺序取出

        TreeHashMap:排序性。

     B.  HashMap和Hashtable的区别  

            同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不                是同步的 ;

            值:HashMap允许null值(key和value都可以),而 Hashtable不允许。

   5 . Collection 和 Collections的区别。  

        Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。  

        Collection是个java.util下的接口,它是各种集合结构的父接口。


分享到:
评论

相关推荐

    【Java】Java集合框架思维导图。

    xmind格式的Java集合框架学习导图,包括Collection接口/Map接口以及具体实现类。 同样包含大厂面试题,也在导图中有所体现。 能学到什么: 更加成体系的知识框架,更加全面的、系统的知识。 思维导图: 思维导图具有...

    Java集合框架详解

    Java集合框架是Java编程语言中的一个核心组成部分,它为存储、管理和操作对象提供了一套统一的接口和类。本文将深入解析Java集合框架的各个方面,包括Collection、List、Set和Map,以及它们的相关实现和使用原理。 ...

    Java集合框架总结

    ### Java集合框架总结 #### 一、Java集合框架概述 Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和...

    java集合框架图

    ### Java集合框架详解 #### 一、Java集合框架概述 Java集合框架是Java标准库的重要组成部分,它提供了存储和操作对象的各种数据结构。通过使用集合框架,开发人员可以轻松地管理不同类型的数据集,并且能够利用...

    Java集合框架学习笔记

    Java集合框架是Java编程语言中一个至关重要的组成部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理各种类型的数据。本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java...

    Java集合框架.ppt

    集合是将多个元素组成一个单元的...Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中出现的问题了Java集合框架位于java.util包中

    Java集合框架常见面试题.pdf

    Java集合框架是Java编程语言中的核心部分,它提供了一组高效、灵活的数据结构,使得开发者可以方便地存储和管理各种类型的数据。Java集合框架主要包括两大类:Collection和Map。 Collection接口是所有单值容器的父...

    JAVA集合框架学习总结

    本文档为本人学习 java 集合框架期间的学习总结笔记,希望对新学习的朋友有所帮助和参考价值。本人java 开发时间不是太长,可能存在不完善或不对之处,欢迎指正!

    6.java集合框架.zip

    6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6.java集合框架.zip6....

    JAVA学习 Java集合框架.ppt

    JAVA学习 Java集合框架.ppt

    面渣逆袭 Java 集合框架篇.pdf

    面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣逆袭 Java 集合框架篇.pdf面渣...

    java 集合框架

    Java集合框架,set、list接口及其子集,接口的继承关系

    Java集合框架常见面试题夜间阅读版.pdf

    根据提供的信息,我们可以总结并详细解释关于Java集合框架的一些关键知识点。这些知识点主要涉及Java集合框架中的各种数据结构,如List、Set、Map等,并深入探讨了它们在实际应用中的特性与用途。 ### Java集合框架...

    数据结构和Java集合框架源代码

    《数据结构和Java集合框架》是清华大学出版社出版的一本经典教材,主要涵盖了计算机科学中的核心概念——数据结构以及Java编程语言中的集合框架。这本书通过深入浅出的方式,讲解了如何用Java实现各种常用的数据结构...

    一个扑克游戏,用于Java集合框架练习.zip

    一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合框架练习 一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合框架练习 一个扑克游戏,用于Java集合框架练习一个扑克游戏,用于Java集合...

    java集合 框架 泛型

    Java集合框架是Java编程语言中一个至关重要的组成部分,它为数据存储和操作提供了丰富的类库。泛型是Java 5引入的一项创新特性,极大地增强了集合框架的安全性和效率。本讲解将深入探讨这两个主题,以及与之相关的...

    java集合框架笔记

    List set ArraryList Map java集合框架笔记 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用

Global site tag (gtag.js) - Google Analytics