跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Java集合的总体框架相关知识总结

目录

一、集合概述

二、集合在开发中的应用

三、集合存储的数据

四、集合的包

五、集合的两大类

一、集合概述

数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其它的数据。

二、集合在开发中的应用

集合是一个容器,是一个载体,可以一次容纳多个对象。在实际开发中,假设连接数据库,数据库当中有10条记录,那么假设把这10条记录查询出来,在Java程序中会将10条数据封装成10个Java对象,然后将10个Java对象放到某一个集合当中,将集合传到前端,然后遍历集合,将一个数据一个数据展现出来

三、集合存储的数据

Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回的。

可以通过包装类把基本类型转为对象类型,存放引用就可以解决这个问题。更方便的,由于有了自动拆箱和装箱功能,基本数据类型和其对应对象(包装类)之间的转换变得很方便,想把基本数据类型存入集合中,直接存就可以了,系统会自动将其装箱成封装类,然后加入到集合当中

注意:

集合在Java中本身是一个容器,是一个对象集合中任何时候存储的都是“引用”

集合里面存储的是对象内存地址集合里面可以套集合集合也是一个对象,也有内存地址

在Java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合中存储元素,等于将数据放到了不同的数据结构当中。什么是数据结构?

数据存储的结构就是数据结构。不同的数据结构,数据存储方式不同。

比如数组二叉树链表哈希表…

以上这些都是常用的数据结构你往集合c1中存放数据,可能是放到数组上了。

你往集合c2中存放数据,可能是放到二叉树上了。

你使用不同的集合等同于使用了不同的数据结构。

new不同的对象,就是使用不同的数据结构。如果对集合用法不了解,多去查JDK的API和百度new ArrayList(); 创建一个集合,底层是数组new LinkedList(); 创建一盒集合对象,底层是链表new TreeSet(); 创建一个集合对象,底层是二叉树

四、集合的包

所有的集合类和集合接口都在Java.util包下,Java.util.*;

五、集合的两大类

一类是单个方式存储元素,单个方式存储元素,这一类集合中超级父接口:Java.util.Collection;一类是以键值对的方式存储元素,以键值对的方式存储元素,这一类集合中超级父接口:Java.util.Map;Iterrator it = “Collection 对象”.iterator();

it是迭代器对象

synchronized修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;

修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;

修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;

修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用主的对象是这个类的所有对象。

Iterable是接口可迭代的,可遍历的,所有集合元素都是可迭代的,可遍历的属性:iterator() Collection是接口collection继承于Iterable所有集合继承Iterable的含义是:所有集合都是可迭代的Iterator Iterator与Collection是关联关系集合的迭代器对象属性:hashNext(),next(),remove()…

List是接口List继承于Collectionlist集合元素的特点:有序可重复,存储的元素有下标有序实际上是说存进去是这个顺序,取出来还是这个顺序,这里的顺序不是按照大小排序有序是因为list集合都有下标,下标从0开始,以1递增ArrayList ArrayList继承于ListArrayList集合底层采用了数组这种数据结构ArrayList集合是非线程安全的LinkedList LinkedList继承于List LinkedList集合底层采用了双向链表数据结构Vector Vector继承于List Vector集合底层采用了数组这种数据结构Vector集合是线程安全的Vector所有的方法都有syndronized关键词修饰,所以线程安全,但是效率较低,Vector用的少Set是接口Set继承于Collection Set集合存储元素特点:无序不可重复无序表示存进去是这个顺序,取出来就不一定是这个顺序了Set集合中元素没有下标Set集合中的元素不能重复HashSet HashSet继承于Set HashSet集合在new的时候,底层实际上new了一个HashMap集合向HashSet集合中存储元素,实际上是存储到了HashMap集合中HashMap集合是一个哈希表数据结构SortedSet是接口-SortedSet集合存储元素的特点:无序不可重复,但是放在SortedSet集合中的元素可以自动排序

SortedSet是可排序集合。放到该集合中的元素是自动按照大小顺序排序TreeSet TreeSet继承于SortedSetTreeSet集合底层实际上是TreeMap new TreeSet集合的时候,底层实际上new了一个TreeMap集合往TreeSet集合中放数据的时候,实际上是将数据放到TreeMap集合中了TreeMap集合底层采用了二叉树数据结构Map是接口Map集合和Collection集合没有关系Map集合以key和value的这种键值对的存储方式存储元素key和value都是存储Java对象的内存地址所有Map集合的key特点:无序不重复Map集合的key和Set集合存储元素特点相同HashMap HashMap继承于Map HashMap集合底层是哈希表数据结构非线程安全的Hashable Hashable集合底层也是哈希表数据结构线程安全,其中所有方法都带有synchronized关键字,效率低SortedMap是接口SortedMap集合存储元素特点:无序不可重复放在SortedMap集合key部分的元素会自动按照大小顺序排序称为可排序的集合Properties Properties继承Hashable,另外Properties存储元素的时候也是采用key和value的形式存储k ey和value只支持String类型,不支持其他类型Properties被称为属性类TreeMap TreeMap集合底层的数据结构是一个二叉树到此这篇关于Java集合的总体框架相关知识总结的文章就介绍到这了,更多相关Java集合框架内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:Java LinkedHashMap 底层实现原理分析在java中ArrayList集合底层的扩容原理Java synchronize底层实现原理及优化Java CAS底层实现原理实例详解JAVA序列化和反序列化的底层实现原理解析JAVA字符串类型switch的底层原理详析Java并发底层实现原理学习心得JAVA浮点数计算精度损失底层原理与解决方案Java集合中contains方法的效率对比分析Java基础学习之集合底层原理

相关文章