声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
集合框架:
System.arraycopy:
1.数组对象
2.从第几个下表开始拷贝
3.接受的数组对象
4.从第几个下表开始存放
5.要拷贝多长
使用System.arraycopy();拷贝方法,拷贝数组的参数,提高代码的执行效率。
改善集合每次new对象问题,不要每次传进参数都要new对象,所以我们在第一次创建对象数组时长度就为5,如果本次只传4-5个数据的话那就不需要重新new数组。然后创建一个属性index=0,然后objs[index++]=value;后加加,第一个值等于传进来的val;
问一下现在的数组长度是否能存储当前值,不能存储的话就重新new一个数组,长度是原来数组的1.75倍,新数组创建完成后就拷贝老数组的数据,从老数组的第0个下表,拷贝给新数组,新数组的第0个放,老数组有多长就拷贝多长,拷贝完成后覆盖老数组,让属性指向新数组。
然后objs[index++]=val;赋值。
get:用下表得到存放的数据,给一个下表判断是否大于等于index(存储下标后加加),大于就说明下标越界了。
size:数组存放数据的长度。反馈出去。
数组的删除:数组的删除就是覆盖。
比如我们申请一个数组,数组里面有“A”,“B”,“C”“D”,“E”,“F”,“G”。
假设我们要删除下标为3里面的数据,就犹如把“E”,“F”,“G”,复制一份粘贴在从 下标3开始的数组内。删除最后一个就直接数组长度减减。
判断下标是否越界,是越界的话直接抛出越界异常。
下标没越界的情况下询问它是不是要删除最后一个,是删除最后一个把该下标等于空。数组长度是7的话,减减后就是6,也就是数组对应的下标6,应为数组下标从0开始。(因为java在没有内存地址指向引用的情况下才会回收内存)
删除第一个的话,就是用System.arrycopy();老数组从下标第i+1个开始拷贝,拷贝给当前自己数组第i个(要删除的位置),拷贝长度是老数组长度减去-i-1的长度。
测试:移除第一个。
缩存储容器:请问当前objs.length/index>=3,符合的话就新申请一个数组,数组长度是来数组的2分之一,然后将老数组的第0个开始拷贝给新数组的0个,老数组有多长就放多长。(长度能被3整除删除一半的数组长度)
相关推荐
集合框架是Java编程语言中的核心组成部分,它提供了一套高效、灵活的数据结构和算法操作,使得程序员能够方便地存储和管理对象。这篇学习笔记将深入探讨Java集合框架的基础概念、主要类库以及常见应用场景。 首先,...
Java集合框架是JavaSE标准库中的一个重要组成部分,它为Java程序员提供了一系列接口和类来管理对象集合。集合框架的设计使得程序员在处理数据集合时可以更加高效和方便,无论是在空间的利用还是数据的存取方面。 ...
### JavaSE_集合.pdf 关键知识点详解 #### 一、集合与数组的区别 - **固定与动态**: 数组的长度是...以上是关于JavaSE集合框架的核心知识点,这些知识点对于理解Java集合框架的工作原理和高效使用集合类至关重要。
"狂神说笔记"中关于JavaSE集合框架的部分,很可能是对这一主题的深入讲解和实例解析。 在Java集合框架中,主要有两种类型:List(列表)和Set(集合)。List是有序的集合,允许有重复元素,如ArrayList和LinkedList...
javase之集合框架 思维导图
8. **JavaSE集合框架**(9、JavaSE:集合框架.pdf):Java集合框架是Java标准库的核心部分,包括List、Set、Map等接口及其实现。笔记可能详细介绍了这些接口和类的用法、性能比较以及设计原则。 9. **JavaSE:Gui...
java视屏\4.JAVASE02\5.集合框架-Collection.mp4
这个编程资料包涵盖了JavaSE的学习资源,旨在帮助开发者掌握Java的基础知识、集合框架、IO流等关键概念。 首先,Java基础知识是学习JavaSE的起点。这包括了Java语法、数据类型、控制结构(如if语句、for循环、while...
本压缩包详述描述了Java的集合框架,用详尽的源码实例,深入浅出的介绍了包含List、Set、Map、泛型在内的所有内容。登录我的博客http://blog.csdn.net/zhongkelee还有惊喜!利用集合框架实现了斗地主洗牌发牌实例。
在集合框架方面,JavaSE提供了多种数据结构,如ArrayList、LinkedList、HashSet、HashMap等,方便开发者存储和操作数据。I/O流允许程序进行输入输出操作,支持字符流和字节流,以及缓冲区、转换流等高级功能。网络...
JavaSE是Java开发的基础,包括但不限于类与对象、封装、继承、多态、异常处理、集合框架、IO流、线程、网络编程等内容。这份文档可能包含了这些主题的相关习题、案例分析或者知识点总结。 【压缩包子文件的文件名称...
Java是世界上最流行的编程语言之一,尤其在...总结来说,"黑马程序员Javase笔记"涵盖了Java的基础语法、内存管理、面向对象编程、集合框架以及泛型和Map等内容,这些都是成为一名合格Java开发者必须掌握的核心知识。
另外,Java集合框架,如ArrayList、LinkedList、HashMap等,提供了丰富的数据存储和操作选项,对于处理复杂数据结构至关重要。 IO流(Input/Output Stream)是Java处理数据输入输出的关键,包括文件读写、网络通信...
此外,Java集合框架是另一个重点。ArrayList、LinkedList、HashSet、HashMap等集合类提供了存储和操作对象的高效方式。理解它们的区别和使用场景,以及如何操作它们,对于编写高效代码至关重要。 文件I/O操作也是...
3. **数组与集合**:数组用于存储固定数量的同类型元素,而集合框架(如ArrayList,LinkedList,HashSet,HashMap等)提供了更灵活的数据存储和操作方式。了解它们的区别和应用场景很重要。 4. **字符串处理**:...
Java集合框架是处理对象数组的一种方式,包括List、Set、Queue等接口,以及ArrayList、HashSet、LinkedList等实现类。此外,HashMap和TreeMap等提供了键值对存储功能。 五、IO流 Java的IO流体系提供了处理输入输出...
Java集合框架包括接口(如List、Set、Map)和实现类(如ArrayList、HashSet、HashMap),提供了一种组织和操作对象的方式。 五、IO流 Java的输入/输出流体系提供了读写文件、网络通信等功能,包括字节流和字符流两...
除此之外,JavaSE还包含丰富的内置类库,如集合框架(ArrayList、LinkedList、HashMap、HashSet等)、I/O流(用于文件读写和网络通信)、线程处理(实现多任务并行执行)、反射API(在运行时动态访问类的信息)等。...