数组、集合的区别
来源:互联网 发布:ubuntu 两个源 编辑:程序博客网 时间:2024/05/29 10:04
数组是连续存储的,所以数组的存储在计算机内存中是一块连续的区域;如果是通过new关键字去创建一个数组对象,数据是存储在堆中,理论上讲是无限制的,是否会溢出跟计算机和其他设备模拟临时存储空间有关;如果是通过int a[]这种方式去申请存储空间,那就是存储在栈中,分配的存储空间跟编译器有关,一般是不超过1M,当定义为1024*1024*511不会报错,而1024*1024*522则会报错。
二、链表
链表是离散存储的,所以要在链表中插入一个数据,只需要在内存中申请一块存储空间就行了。综合数组的特点,可以看出数组比较适合查询操作,如果是插入数据,使用链表效率比较高。
三、集合
3.1 Collection是最基本的集合接口,set 和 list都是继承Collection接口,set是最简单的一种集合,集合中的对象没有特定的排列顺序,set接口主要实现了两个类:
1、HashSet类按照哈希算法来存储集合中的对象,存储速度很快。
2、TreeSet类实现了SortedSet,能够对Set集合进行排序
LinkedHashSet:具有HashSet查询的查询速度,且使用链表维护元素的顺序
Iterator()和toArray()方法都适用于集合中的所有元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组
Iterator接口声明了如下方法:
hasNext():判断集合中元素是否遍历完毕,如果没有,就返回true
next():返回下一个元素
remove():从集合中删除上一个有next()方法返回的元素
3.2 List的特征是其元素以线性方式存储,集合可以存放重复的对象
list接口主要实现的类包括:
ArrayList():由数组实现的的List,可以对集合中的元素进行随机访问,向ArrayList()中插入与删除元素较慢
LinkedList():在实现中采用链表数据结构,插入和删除的速度较快,访问速度较慢
使用迭代器(Iterator):
Iterator it = list.iterator();
while (it.hashNext()){
System.out.println(it.next());
}
3.3 Map 键值对映射关系的对象, 每一个元素都包含一对键值对,Map集合中的键对象不允许重复,也就是说对多相同的键对象指向的的是同一个值对象。
- 数组、集合的区别
- 集合和数组的区别
- 数组 字典 集合的区别
- 数组跟集合的区别
- 集合和数组的区别
- 集合与数组的区别
- 数组和集合的区别
- 数组和集合的区别
- 数组与集合的区别
- JAVA集合和数组的区别?
- java 中数组和集合的区别
- java 集合与数组的区别
- 数组与集合的使用区别
- 字符串,数组,集合表示长度的区别
- 数组与List(集合)的区别
- Java中数组和集合的区别
- 数组Array和集合的区别:
- NodeList集合跟Array数组的区别
- 新时代 深度挖掘 同行 竞争对手 的客户 ! By Jensen Lee
- Revit二次开发之外部应用IExternalApplications和数据库级别的外部应用【比目鱼原创】
- 【Python】Jupyter Notebook
- 360互联网技术训练营第七期 -“遇见”PIKA 续集
- 数据库查询笔记
- 数组、集合的区别
- 批量改密码
- ubuntu14.04下nodejs+npm+bower的安装、调试和部署
- java NIO 知识点汇总
- lbp
- JFreeChart_web(二)
- pat b 1034 有理数四则运算
- mdev的使用方法和原理
- select * into 新表名 from 原表名 where 子句报错Undeclared variable