网站首页 > java教程 正文
一 .什么是java集合?集合与数组有什么区别?下面我们来详细讨论一下
1.一般地,我们把研究对象统称为元素;把一些元素组成的总体叫做集合.
2. 数组,是有序的元素序列,用于储存多个相同类型数据的集合,
数组是java语言内置的数据类型,它是一个线性的序列,所有可以快速访问其他的元素,数组和其他语言不同,当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改变的,还有JAVA数组会做边界检查,如果发现有越界现象,会报RuntimeException异常错误,当然检查边界会以效率为代价。
二 .数组和集合的区别
1、数组声明了它容纳的元素的类型,而集合不声明。
2、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
3、数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以不是一种(不加泛型时添加的类型是Object)。
4、数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查都是最快的。
三 . java集合框架图
从上面的图片可以看出java集合主要分为两种类型的容器
第一种:集合(Conllection),用来存储一个元素集合
第二种:图(Map) ,用来存储键/值对映射.
其中,
Collection 接口对象的集合(单列集合)
====> List 接口:有序的,可重复
=======> LinkedList 接口实现类, 链表, 插入删除速度快, 没有同步, 线程不安全
=======> ArrayList 接口实现类, 数组, 访问查询快, 没有同步, 线程不安全
=======> Vector 接口实现类 ,数组,同步, 线程安全 (类可以实现可增长的对象数组。)
===========> Stack 是Vector类的实现类 (后进先出 的对象堆栈)
====>Set 接口: 仅接收一次,不可重复,并做内部排序
├—————-└HashSet 使用hash表(数组)存储元素
│————————└ LinkedHashSet 链表维护元素的插入次序
└ —————-TreeSet 底层实现为二叉树,元素排好序
Map 接口 键值对的集合 (双列集合)
├———Hashtable 接口实现类, 同步, 线程安全
├———HashMap 接口实现类 ,没有同步, 线程不安全-
│—————–├ LinkedHashMap 双向链表和哈希表实现
│—————–└ WeakHashMap
├ ——–TreeMap 红黑树对所有的key进行排序
└———IdentifyHashMap
四.List接口说明
五. Set的说明
六.Queue接口说明
七.Map
- 上一篇: java集合超详解(java 集合详解)
- 下一篇: Java 集合图谱(java集合数据结构图解)
猜你喜欢
- 2024-09-10 java基础:ArrayList集合(java arraylist常用方法)
- 2024-09-10 Java 集合了解多少?(java集合的了解)
- 2024-09-10 还不懂Java集合框架?阿里架构师总结了这五点,看完至少能掌握99%
- 2024-09-10 Java 最细的集合类总结(java的集合类型)
- 2024-09-10 Java 集合图谱(java集合数据结构图解)
- 2024-09-10 java集合超详解(java 集合详解)
- 2024-09-10 Java集合类(java集合类之list的arraylist之删除指定学生)
- 2024-09-10 Java 集合框架知识梳理(java 集合框架知识梳理图)
- 2024-09-10 Java入门教程-Java集合体系和容器分类
- 2024-09-10 Java集合体系详解(java集合类结构)
你 发表评论:
欢迎- 05-11全局数组的结构分析(全局数组和局部数组)
- 05-1110秒合并800个表,VSTACK就是这么厉害!
- 05-11VBA实现将批量Excel文件中的工作表合并成一个工作表
- 05-11C语言之strcat字符串拼接函数(c语言字符串拼接函数实现)
- 05-11这几个动态数组函数,简单又高效(动态数组的方法)
- 05-11数据格式的转换方法,HSTACK函数重建数组
- 05-11Java归并排序算法(技术每天进步一点)
- 05-11如何零基础学习VBA——数组函数介绍
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)