吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3743|回复: 25
收起左侧

[Java 转载] java集合超详解

[复制链接]
宸道移动安全 发表于 2020-8-31 19:01
一:集合的概念
Java集合就像一个容器,可以存储任何类型的数据,也可以结合        泛型来存储具体的类型对象。在程序运行时,Java集合可以动态        的进行扩展,随着元素的增加而扩大。在Java中,集合类通常存        在于java.util包中。

二:集合的结构
Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口。

1.Collection主要有三个子接口,分别为List(列表)、Set(集)、 Queue(队列)。其中,List、Queue中的元素有序可重复,而Set中的元素无序不可重复;List中主要有ArrayList、LinkedList两个实现类;Set中则是有HashSet实现类;而Queue是在JDK1.5后才出现的新集合,主要以数组和链表两种形式存在。

2.Map同属于java.util包中,是集合的一部分,但与Collection是相互独立的,没有任何关系。

Map中都是以key-value的形式存在,其中key必须唯一,主要有HashMap、HashTable、TreeMap三个实现类,如下图所示:

图片13.png

三:ArrayList


1.ArrayList是一个数组队列,相当于动态数组。ArrayList是Java集合框架中使用最多的一个类,是一个数组队列,线程不安全集合。ArrayList底层通过数组实现,随着元素的增加而动态扩容。Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。

2.ArrayList的特点
①容量不固定,随着容量的增加而动态扩容(阈值基本不会达           到)。
②有序集合(插入的顺序==输出的顺序)。
③插入的元素可以为null。
④增删改查效率更高(相对于LinkedList来说)。
⑤线程不安全。

3.ArrayList常用方法
①add:添加
②set:修改
③get:获取
④isEmpty:判断是否为空
⑤contains:判断是否包含
⑥size:获取集合长度
⑦toArray:将集合转换成数组
⑧remove:删除

4.示例

图片14.png
图片15.png
图片16.png

四:小结

通过本节课的学习,我们了解了集合的概念以及集合的构成,在这里,集合主要是由两大体系构成,分别是Collection体系和Map体系同时,我们还掌握了ArrayList的概念,特点以及它的八种常用方法:add(添加)、set(修改)、get(获取)、isEmpsy(判断是否为空)、contains(判断是否包含)、size(获取集合长度)、toArray(将集合转换成数组)、remove(删除)。
需要全套课程的小伙伴可以找我哦

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
呲花bia + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

徐行且慢 发表于 2020-8-31 19:31
这叫详解?
若梦丶陌兮 发表于 2020-9-1 12:37
本帖最后由 若梦丶陌兮 于 2020-9-1 12:40 编辑

这算超详细吗?还有集合体系没讲。
第一个图片,是强制转换吗(? QQ图片20200827111508.png
第二个图片,也是强制转换吗?为什么带[],后面的参数里面为什么要newString[]? 2.png
QQ图片20200827111508.png
yiwanyiwan 发表于 2020-8-31 19:24
一人之下123456 发表于 2020-8-31 19:30
感谢楼主分享的学习笔记,正好学习一下,谢谢。
tcog 发表于 2020-8-31 20:24
学不了!!!高人!!多谢!!!
you74222 发表于 2020-8-31 20:51
虽不是详解,但是还行。
jzw12345 发表于 2020-8-31 21:12
感谢楼主分享。
锋霜 发表于 2020-8-31 21:23
感谢楼主分享。
且,听风吟 发表于 2020-9-1 10:49
本帖最后由 且,听风吟 于 2020-9-1 10:54 编辑

超详细-------------用词过了兄弟哈哈哈哈
且,听风吟 发表于 2020-9-1 10:52
linmh 发表于 2020-8-31 21:04
你确定ArrayList的增删效率相对于LinkedList来说更高?

ArrayList底层采用数组形式实现,查询快,增删慢;LinkedList底层采用链表形式实现,查询慢,增删快;
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 11:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表