JAVA集合01

什么是集和?

集和是一个容器,可以来容纳其他类型的数据

是一个载体,可以一次容纳多个对象

实际开发中,假设连接数据库,数据库有10条记录

假设把10条记录查询出来,在java程序中会将10条

数据封装成10个java对象,将10个java对象放到某一个集和中去

将集合传到前端,然后遍历集和,将一个数据一个数据展现出来

集合不能直接存储基本数据类型,另外集和也不能直接存储java对象,

集合当中存储的都是java对象的内存地址

java中每一个不同的集合,底层会对应不同的数据结构。

往不同的集合中存储元素,存到了不同的数据结构中

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

new ArrayList();

new LinkedList();

new TreeSet();

集合都在 java.util.*;包下

java中集合分为两大类

一类单个方式存储元素

​ 这一类集合中超级父接口java.util.Collection;

一类以键值对的方式存储元素:

​ 以这一类集合中的超级父接口java.util.Map;

Map是key value 成对的存储


Iterator it = “Collection 对象”.iterator(); Iterator 父接口有一个iterator 方法

it迭代器对象,负责遍历

迭代器对象有 hasnext() ,next(),remove() 3个方法遍历

List集合存储元素特点

有序可重复

存储的元素有下标,有序因为List集合有下标

Set集合特点

无序不可重复

无序表示存进去是这个顺序,取出来就不一定是这个顺序了

Set集合中元素没有下标,Set集合中的元素还不能重复


  • ArrayList集合采用数组的数据结构(非线程安全

  • LinkedList集合采用双向链表数据结构

  • Vector集合采用数组这种数据结构(线程安全,但是效率低,几乎不用)

    synchronized关键字修饰,所以线程安全,但是现在有别的方法保证线程安全

HashSet实现类创建的时候,底层其实创建了HashMap集合

实际上是存储到HashMap集合中,是一个Hash表数据结构

TreeSet实现类创建的时候,底层其实创建了TreeMap集合

实际上是存储到TreeMap集合中,是一个二叉树结构

SortedSet集合存储元素的特点:

由于继承了Set集合,所以他的特点也是无序不可重复

但是放在SortedSet集合中的元素可以自动排序

我们称为可排序集合。放到该集合中的元素

是自动按照大小顺序排序的


总结(所有的实现类):
ArrayList:底层是数组
LinkedList:底层是双向链表
VeEtor:底层是数组,线程安全的,效率较低,使用较少
HashSet:底层是HashMap,放到HashSet集合中的元素等同于放到HashMap集合key部分了
TreeSet:底层是TreeMap,放到TreeSet集合中的元素等同于放到TreeMap集合key部分了
HashMap:底层是哈希表
Hashtable:底层也是哈希表,只不过线程安全的,效率较低,使用较少

Properties:是线程安全的,并且key和value只能存储字符串String。。
TreeMap:底层是二叉树。TreeMap集合的key可以自动按照大小顺序排序。
List集合存储元素的特点:。
有序可重复。
有序:存进去的顺序和取出的顺序相同,每一个元素都有下标。。
可重复:存进去1,可以再存储一个1.0
Set (Map)集合存储元素的特点:。
无序不可重复。
无序:存进去的顺序和取出的顺序不一-定相同。另外Set集合中元素没有下标。
不可重复:存进去1,不能再存储1了。。
SortedSet (SortedMap)集合存储元素特点:。
首先是无序不可重复的,但是SortedSet集合中的元素是可排序的。。
无序:存进去的顺序和取出的顺序不一定相同。另外Set集合中元素没有下标。.
不可重复:存进去1,不能再存储1了。。
可排序:可以按照大小顺序排列。。
Map集合的key,就是一个Set集合。。
往Set集合中放数据,实际上放到了Map集合的key部分。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值