`
阅读更多
引用
1. Set:
Set是一个集合接口,它的特征和数学上的集合有点类似,Set中存放的是对象的引用,继承自Collection接口,它具有如下的特征:
.          Set中不允许存放重复元素
.          Set中的元素是无序的
.          Set主要有HashSet、LinkedHashSet和TreeSet三个实现类

1.1 HashSet:
HashSet按照特定的Hash算法存取对象,效率较高,存取对象的速度较快。(注意:HashSet中对数据的组织并不是无序的,而是按照Hash算法进行排序)
1.2 LinkedHashSet:
LinkedHashSet是HashSet的子类,它使用链表数据结构进行数据存取
LinkedHashSet具有以下特征:
.          LinkedHashSet内部使用了链表数据结构
.          LinkedHashSet与HashSet不同之处在于:LinkedHashSet中的元素具有固定的顺序(按照添加顺序组织元素)
1.3 TreeSet:
TreeSet是一个具有排序功能的集合,特征如下:
.          添加的元素必须是同一数据类型
.          对元素的组织形式默认升序
如果想对加入的自定义类对象进行排序,则自定义类必须实现Comparable接口,并重写compareTo()方法,这样TreeSet才能对加入的对象进行排序。

2. List:
List是一个集合接口,它继承自Collection接口,List中存放的是对象的引用。List接口具有如下特征:
.          List中可以存放重复元素
.          List中的元素是一个有序的集合,可以通过索引访问List中的元素
.          List主要有ArrayList和LinkedList两个实现类
2.1 ArrayList:
ArrayList是一个大小可变的数组,它具有快速读取对象的特性,但是如果删除或者插入对象则效率较低,因为每次在位置i上插入一个对象时,从位置i+1到最后的对象都要后移一位;而每次删除位置i上的一个对象,从位置i+1到最后的对象则都要前移一个位置。
2.2 LinkedList:
LinkedList在内部使用链表的形式存储数据,因此在删除和插入对象时会有较高的效率。如果经常需要在List中插入和删除数据,建议使用LinkedList;如果List中的对象变更很少,建议使用ArrayList。

3.Map:
Map是Java中的一个接口,它是一种重要的集合,它使用key/value的方式存储数据。key/value方式使用value存储内容,利用key作为关键字存取集合中的内容。key和value是一一对应的关系,key值不能重复。Map集合的特性如下:
.          Map具有较高的存取性能
.          Map不允许存放重复的key值,但是可以有重复的value值
.          Map主要有HashMap、LinkedHashMap、TreeMap三个实现类
3.1 HashMap
HashMap的特性如下:
.          HashMap在声明时可以传递参数初始化构造时的大小,如果HashMap中的内容达到了一定的大小,就会自动增长为原来的两倍
构造函数如下:HashMap(int 初始化大小)
.          装填因子用来决定向HashMap中装填时的上限,填充因子取值为0到1之间,如果填充因子取值为0.8,HashMap的初始容量为100,则当HashMap中的对象超过100*0.8时,容量会扩展为原来的两倍。
构造函数如下:HashMap(int 初始化大小,float 填充因子)
.          HashMap通过HashCode进行内容的快速查找
.          HashMap中的对象是无序的
3.2 LinkedHashMap:
LinkedHashMap使用链表结构存储数据,LinkedHashMap的声明如下:
LinkedHashMap具有下面的特性:
.          LinkedHashMap不允许有重复的key值
.          LinkedHashMap内的对象有固定的顺序
3.3 TreeMap
TreeMap具有比LinkedHashMap更加强大的排序功能,TreeMap实现了SortedMap接口。主要特征如下:
.          具有排序功能
.          自定义排序实现排序功能
分享到:
评论

相关推荐

    java集合思维导图

    java集合 java集合思维导图 java集合总结

    java泛型集合 java集合 集合 java Collection

    java泛型集合 java集合 集合 java Collection 排序 集合排序

    java集合java集合java集合java集合java集合

    java集合

    Java集合排序及java集合类详解.pdf

    Java 集合排序 及java集合类 详解.pdf

    Java 集合排序及java 集合类详解

    Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是如何实现的, 以及他们的实现原理...

    Java集合框架总结

    Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结Java集合框架总结

    java集合习题及答案

    java集合基础习题及答案,

    java 集合练习题

    键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台java 集合练习题

    Java集合排序及java集合类详解

    Java集合排序及java集合类详解,对list,set,map等java集合进行详细讲解

    Java集合框架详解

    Java集合框架详解Java集合框架详解Java集合框架详解

    java集合框架面试题

    内含大量java集合框架方面常被面试官问到的经典面试题。

    Java集合整体讲解

    Java集合整体讲解,其中包含了Collection,Map,Iterator和一些工具类,以及集合整体大框架

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

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

    java集合框架图

    java集合框架图java集合框架图java集合框架图java集合框架图java集合框架图

    Java集合详解,详细讲解java的集合类

    Java集合详解,详细讲解java的集合类,对java集合类的最详细的讲解。我自己的总结,保证大家看了很有收获

    Java基础篇:Java集合.pdf

    该文档主要详细总结了Java集合的相关知识,包括Collection和Map接口、Collection接口的子接口List和Set接口以及具体的实现类、存储原理等;Map接口的子接口HashMap、LinkedHashMap、TreeMap、Properties等

    Java集合框架.ppt

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

    Java集合面试题及答案

    Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案Java集合面试题及答案...

    Java集合思维导图.xmind.zip

    详细描述了Java提供的集合类:HashMap/CurrentHashMap/ArrayList/LinkedList核心原理及版本升级差异。

Global site tag (gtag.js) - Google Analytics